我有一个现有的java项目。这是一个maven项目。我想将它添加到我的本地maven存储库,以便在其他项目中重用。
MyUtilityClass.jar
MyUtilityClassSources.jar
MyUtilityClassDocs.jar
取决于
slf4j-1.7.2.jar
junit-4.11.jar
这个SO Question/Answer提供了使用mvn install将单个文件添加到本地maven存储库的说明:install-file
这个SO Question/Answer给出了使用mvn deploy-file添加一组jar - sources,javadoc等的说明。
此SO Question/Answer暗示通过pom.xml文件指定依赖项,但不提供详细信息。
我有两项任务在我面前,我想完成:
将MyUtilityClass的项目添加到我的本地存储库,当我将它们拉入时,会自动添加源,文档和依赖项。
我想为MyUtilityClass项目创建一个maven任务,将最新和最好的包添加到我的本地存储库。
我使用eclipse作为IDE和maven版本3.0.4。该项目的POM如下所示:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.local.mine</groupId>
<artifactId>MyUtilityClass</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>MyUtilityClass</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>com.local.mine</groupId>
<artifactId>slf4j</artifactId><!--from local repo -->
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>com.local.mine</groupId>
<!--from local repo and shouldn't be automatically added -->
<!-- to projects that reuse the resulting bundle -->
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
答案 0 :(得分:1)
最简单的方法是将每个项目视为自己的发布周期。它们应该是相互独立的。
正如您所发现的,您可以
这也是发布插件。当您执行发布的配对目标:准备和发布:执行时,您最终会使用
您要使用的是release plugin。
答案 1 :(得分:0)
简单的解决方案是使用
mvn install
在您希望重复使用的项目中。这会将项目的工件安装到您的位置存储库中。