繁体   English   中英

将本地jar添加到Spring启动应用程序的pom.xml

[英]Add local jar to pom.xml of Spring boot application

我创建了两个spring boot应用程序foobar 然后,我使用命令mvn clean packagebar创建了一个jar文件,生成了bar-0.0.1-SNAPSHOT.jar文件。 使用mvn install:install-file -Dfile=target/bar-0.0.1-SNAPSHOT.jar -DpomFile=pom.xml在提到这个职位 ,我安装了这个罐子我的本地库的.m2。

然后在foo的pom.xml中,添加了以下依赖项:

<dependency>
    <groupId>com.foobarcompany</groupId>
    <artifactId>bar</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

现在,当我从STS运行foo应用程序时,它可以正常运行,但是如果我尝试使用mvn spring-boot:run从终端运行它,或尝试使用mvn clean package打包foo ,则会出现以下错误:

package com.foobarcompany.bar.service does not exist

指的是我从foo应用中调用的bar应用中存在的服务。

据我了解,该依赖关系未正确添加,并且它在STS中起作用的原因是因为两个应用程序都在同一工作空间下。

我什至尝试添加此答案中提到的本地Maven存储库,但即使这样似乎也不起作用。 也许我做错了。

谁能告诉我将本地jar添加到另一个应用程序的正确方法是什么?

您错过了artifactid,版本和groupid,请使用以下命令。

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id>
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

参考: https : //maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

我已经完成了mvn clean install并将其发布到.m2文件夹。 之后,我将其添加为依赖项(您已经完成了)。 最后一步是在放置@SpringBootApplication的主类上添加@ComponentScan(basePackages = {“ com.foobarcompany.bar”,“ com.foobarcompany.foo”})。 我可以使用mvn spring-boot:run启动应用程序。 这对我有用。

暂无
暂无

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

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