0
我有两个项目。项目A & B.项目B依赖于项目A. 要运行项目B,必须在项目B的pom.xml中添加项目A的依赖项。如何使用maven访问模块中的文件,而无需在本地.m2存储库和中央Maven存储库中进行搜索?
如果我改变的东西,从项目答:我要做的MVN重新安装更新与项目A的最新代码,然后我可以运行项目B.
我可以访问项目A的项目更改代码的本地库B没有做mvn安装?
我有两个项目。项目A & B.项目B依赖于项目A. 要运行项目B,必须在项目B的pom.xml中添加项目A的依赖项。如何使用maven访问模块中的文件,而无需在本地.m2存储库和中央Maven存储库中进行搜索?
如果我改变的东西,从项目答:我要做的MVN重新安装更新与项目A的最新代码,然后我可以运行项目B.
我可以访问项目A的项目更改代码的本地库B没有做mvn安装?
不可以。您不能访问更新的代码。这是因为,当你构建一个Maven应用程序时,它会从你的.m2存储库中获得所有的依赖关系。如果它没有找到那里的依赖关系,那么它会搜索你的远程仓库。
对于您的情况,当您更新A的代码并且不构建它时,更新后的工件将不会在您的.m2存储库中可用。现在,如果您构建项目B,那么它将尝试从.m2存储库中获取项目A artiufact。由于在修改代码后没有构建A,因此B将获取当前存在于.m2文件夹中的工件,即旧代码的工件。
您可以使用的另一种方法是拥有一个父pom。这只是一个聚合器pom,它将为你的两个模块执行pom.xml。对于如:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook.multispring</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>module-A</module>
<module>module-B</module>
</modules>
</project>
请注意,这样做的包装应POM。