java - 使用 Maven 包添加第 3 方 jar

标签 java eclipse maven spring-boot jar

我有一个非常简单的 Spring Boot 项目,我使用一个名为 jsoup 的第 3 方 jar。

当我从 Eclipse 运行该项目时,代码工作正常。但是当我使用 mvn clean package 命令并将其导出到可执行 jar 时;项目仍然有效,但我使用 jsoup 的部分引发了无法找到 jsoup 的异常。所以我的可执行 jar 不包含 jsoup。

我搜索并尝试了一些方法,但没有成功。如果您能帮助我,我将不胜感激。

这是我的 pom 文件,

<modelVersion>4.0.0</modelVersion>

<groupId>com.tools</groupId>
<artifactId>parser</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>parser</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.2.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.7</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <scope>system</scope>
        <version>1.0</version>
        <systemPath>${basedir}\src\lib\jsoup-1.10.1.jar</systemPath>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

最佳答案

如果您的第 3 方 jar 没有 Maven 支持并且不在任何 Maven 存储库中,您可以从那里下载它,您需要为其制作 Maven Artifact ,然后使用 Maven 部署将其部署到某个 Maven 存储库中插件。

它可以是您的本地存储库、公司存储库或您想要使用的任何公共(public)存储库。

请参阅: Guide to deploying 3rd party JARs to remote repository

这是一个 Maven 命令格式:

mvn deploy:deploy-file -DgroupId=<group-id> \
 -DartifactId=<artifact-id> \
 -Dversion=<version> \
 -Dpackaging=<type-of-packaging> \
 -Dfile=<path-to-file> \
 -DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
 -Durl=<url-of-the-repository-to-deploy>

关于java - 使用 Maven 包添加第 3 方 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41184724/

相关文章:

java - 生成的 Runnable jar : Could not find the main class

android - cocos2dx eclipse : Various "error: undefined reference to "

java - 来自 Maven 依赖项的 Maven 版本插件 : reference a rule. xml?

java - 由于缺少 Spring boot 类,WebLogic 12.2.1.2.0 上的部署失败

eclipse - 从AEM下载 bundle 时如何使用Eclipse中的 bundle

java - 如何使用 Android 铃声管理器播放 Assets 文件夹中的铃声?

java - 动态加载遵循接口(interface)的类

java - 如何获取给定季度的月份

c++ - 无法为 vector 的 vector 解析 Eclipse 方法

具有持久资源的 Java 线程