我希望在其他项目中使用POM.xml将一个maven项目用作依赖项,但几乎没有限制。
My Maven project1是框架项目。我为该项目创建了一个jar文件。该项目将驻留在私人git仓库中。我不想让其他用户公开这个项目来编辑它。
在我的maven project2或maven project3中,我想使用maven project1作为依赖项。应该在运行时将jar文件下载到maven依赖项。
注意:用户在日食中不会有mave project1。
例如:当我将testNG依赖项添加到我的POM.xml时,testNG jar将同样下载到我的项目中,我需要将我的maven project1作为依赖项添加到任何其他maven项目,它应该将project1作为jar下载。
请告诉我如何实现它。
答案 0 :(得分:1)
你应该能够在你的pom中使用它将你的jar添加到你的本地存储库:
<plugin>
<executions>
<execution>
<id>jarid_to_install</id>
<phase>package</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>resources/jar.jar</file>
<groupId>com.name</groupId>
<artifactId>jar</artifactId>
<version>x.x</version>
<packaging>jar</packaging>
</configuration>
</execution>
</executions>
</plugin>
安装后,jar可以像任何其他依赖项一样实现。
<dependency>
<groupId>com.name</groupId>
<artifactId>jar</artifactId>
<version>x.</version>
<scope>runtime</scope>
</dependency>
答案 1 :(得分:0)
我猜您应该将项目上传到Maven存储库: https://maven.apache.org/guides/mini/guide-central-repository-upload.html
答案 2 :(得分:0)
您可以设置私有maven存储库来托管jar文件。可以在https://maven.apache.org/guides/introduction/introduction-to-repositories.html
下找到更多设置信息e.g。使用project1作为依赖项的project2 / project3中的示例pom.xml:
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>
或者只使用JFrog Artifactory来托管任何依赖项:https://www.jfrog.com/open-source/
答案 3 :(得分:0)
您可以使用
mvn install:install-file -DgroupId=projecta -DartifactId=projecta -Dversion=1.0.0 -Dpackaging=jar -Dfile=path to you .jar file here
。
您可以使用此命令将jar安装到本地m2存储库中,然后使用上面命令中定义的groupid,artifactid和version,像projectB中的任何其他依赖项一样访问它。