繁体   English   中英

添加带有Maven软件包的3rd Party Jars

[英]Add 3rd Party Jars with Maven Package

我有一个非常简单的spring boot项目,我使用了一个名为jsoup的3rd party 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>

您正在使用JSoup 1.10.1版,但将其与<scope>system</scope> Maven不会在工件构建中包含这些jar,就像<scope>provided</scope> 另请参阅 Stackoverflow问题和答案。

但是,JSoup和您的其他依赖项一样,是一个普通的jar,位于Maven Central中。 正如你可以看到在这里 只需将其添加为常规依赖项即可。

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.10.1</version>
</dependency>

而不是您现在拥有的。 这将使其包含在Spring Boot将为您创建的可执行jar中。 (并且使您免于手动查找该jar和更新等)。

如果您的第3方jar不支持Maven并且不在任何Maven存储库中,则可以从其下载该文件,并为其制作Maven工件,然后使用Maven部署插件将其部署到某些Maven存储库中。

它可以是您的本地存储库,公司存储库或您要使用的任何公共存储库。

请在以下位置查看它: 将第3方JAR部署到远程存储库的指南

这是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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM