我们正在使用Maven
和m2e
工具进行开发,今天我们遇到了问题。
我们的一个项目是其他项目所需的小型库,因此我们将其打包到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将我本地存储库中创建的文件夹复制到远程存储库
答案 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)