Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将本地jar添加到Spring boot应用程序的pom.xml中_Java_Maven_Spring Boot_Jar - Fatal编程技术网

Java 将本地jar添加到Spring boot应用程序的pom.xml中

Java 将本地jar添加到Spring boot应用程序的pom.xml中,java,maven,spring-boot,jar,Java,Maven,Spring Boot,Jar,我已经创建了两个spring启动应用程序——foo和bar。然后,我使用命令mvncleanpackage为bar创建了一个jar文件,它生成了bar-0.0.1-SNAPSHOT.jar文件。使用中提到的mvn安装:安装文件-Dfile=target/bar-0.0.1-SNAPSHOT.jar-DpomFile=pom.xml,我将这个jar安装到了本地的.m2存储库中 然后在foo的pom.xml中,我添加了以下依赖项: <dependency> <groupId

我已经创建了两个spring启动应用程序——foo和bar。然后,我使用命令mvncleanpackage为bar创建了一个jar文件,它生成了bar-0.0.1-SNAPSHOT.jar文件。使用中提到的mvn安装:安装文件-Dfile=target/bar-0.0.1-SNAPSHOT.jar-DpomFile=pom.xml,我将这个jar安装到了本地的.m2存储库中

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

<dependency>
    <groupId>com.foobarcompany</groupId>
    <artifactId>bar</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
这是指我从foo应用程序调用的bar应用程序中存在的服务

据我所知,依赖项没有正确添加,它从STS起作用的原因是因为两个应用程序都在同一个工作区下

我甚至尝试添加一个本地maven存储库,如中所述,但即使这样似乎也不起作用。也许我做错了


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

您遗漏了artifactid、version和groupid,请使用下面的命令

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

我已完成mvn清理安装,将其发布到.m2文件夹。之后,我添加了它作为依赖项,您已经完成了。最后一步是将@ComponentScanbasePackages={com.foobarcompany.bar,com.foobarcompany.foo}添加到您的主类上,您的@SpringBootApplication就放在这个主类上。我可以用mvn spring boot:run启动应用程序。这对我很有用。

您应该运行mvn安装,将这个JAR发布到您的本地.m2。使用mvn部署任务将其发布到您有写访问权的远程存储库。您不能将spring启动应用程序用作依赖项。如果您需要共享代码,请使用一个单独的模块名称,如commons code或类似名称,并将其作为依赖项使用。@duffymo我已从bar运行mvn安装,它在我的本地.m2中提供。但是,当我在foo中添加此依赖项,然后运行mvn安装时,它找不到中定义的服务bar@khmarbaise我可以将一个打包了war的现有spring引导应用程序转换成一个多模块应用程序吗?另外,如果有一个单独的项目baz需要使用bar中定义的服务,是否可以使用此模块?是的,当然可以…mvn clean install将jar安装到本地。m2 Folder我们是否必须定义artifactId,如果我们在pom文件中使用该命令,版本和组ID?我之前在主类中添加了@ComponentScanbasePackages=com.foobarcompany,它应该同时选择foo和bar。我也尝试过你的方法,但仍然不起作用。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id>
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>