Maven和m2e - 使用依赖项信息构建jar

时间:2013-03-20 14:51:51

标签: java maven jar

我们正在使用Mavenm2e工具进行开发,今天我们遇到了问题。

我们的一个项目是其他项目所需的小型库,因此我们将其打包到jar文件中并放入我们的私有Maven存储库。

目前,我们放在此存储库中的所有jar都没有任何外部依赖项,但我提到的这个库使用了一些外部jar。

现在,当我将有关此jar的信息添加到其他poms时,此jar将从我们的私有存储库下载,但Maven不会下载此jar所需的依赖项。

我想知道我是否需要使用一些特殊目标/在我的pom.xml文件中添加一些内容,以通知Maven包含有关此工件所需依赖项的信息。

编辑: 以下是我将jar上传到私有存储库时执行的工作流程:

1.I使用Eclipse

m2e生成jar文件

2。mvn install:install-file -DgroupId=<your_group_name> -DartifactId=<your_artifact_name> -Dversion=<snapshot> -Dfile=<path_to_your_jar_file> -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true

3.I将我本地存储库中创建的文件夹复制到远程存储库

3 个答案:

答案 0 :(得分:3)

我看到你在安装jar文件时使用-DgeneratePom=true。您需要做的是为您的工件创建pom.xml。在pom.xml中,您可以指定jar文件所需的依赖项。执行install:install插件目标时,请改用-DpomFile=pom.xml

答案 1 :(得分:3)

如果您的小型库是maven项目,那么应该没有理由让eclipse构建jar然后使用maven来安装它,然后手动复制到远程仓库。相反,您应该使用m2e来运行部署目标:

mvn deploy

这将导致jar被构建,然后将其直接安装到本地maven仓库,然后将其部署到远程仓库。

在eclipse中,可以通过右键单击项目,选择Run As -> Maven Build...然后在Goals输入类型deploy的运行配置窗口中然后单击Run来完成。完成此操作后,您可以使用Run As -> Maven Build再次运行相同的配置。

答案 2 :(得分:2)

执行此操作的最佳方法是运行mvn deploy

您必须在settings.xml中将分发存储库设置为私有工件管理器(nexus或ar​​tifactory)

有关详细信息,请参阅this

相关问题