1

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

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

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

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

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

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

Eclipse1.我使用生成jar文件m2e

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.我将在本地存储库中创建的文件夹复制到远程存储库

4

3 回答 3

3

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

于 2013-03-20T15:01:08.560 回答
3

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

mvn deploy

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

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

于 2013-03-20T15:03:53.523 回答
2

最好的方法是运行mvn deploy

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

有关更多详细信息,请参阅

于 2013-03-20T15:08:32.960 回答