我已经创建了一个Spring Boot项目(项目A),并且已经以maven install的方式运行了构建。这已在.m2文件夹中创建了一个可执行jar文件。
我想将上述项目用作其他两个Spring Boot项目(Project B和Project C)的依赖项。我在项目B的pom.xml中添加了项目A的依赖项。但是,该依赖项作为文件夹包含在Maven依赖项下。如果在本地项目资源管理器中打开了项目A,则只能从项目A导入所需的类。如果我关闭Project A,则依赖关系无法解决,并且会引发错误。
在构建第一个项目(A)时我做错了什么吗?以下是项目A的pom.xml中的构建标记。我们可以添加可执行文件作为依赖项吗?
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</resource>
</resources>
<finalName>${project.artifactId}-${project.version}${build.number}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
请帮助我了解这里是否有问题。在此先感谢:)
答案 0 :(得分:0)
默认情况下,每个Spring Boot应用程序都继承自Spring Boot的工件,因此可以通过maven的'dependencyManagement'功能自动加载许多依赖库。同样由于相同的原因-当Spring Boot应用程序变成共享库时,并非所有必需的库都将自动解析为依赖项。
要解决此问题,您需要将共享类提取到专用共享库中,并将该库用作项目之间的依赖项。 没有简单的方法,对不起。