【问题标题】:Add project repo for an edited jar in Eclipse Maven project在 Eclipse Maven 项目中为已编辑的 jar 添加项目 repo
【发布时间】:2018-03-06 06:51:49
【问题描述】:

我有一个遗留项目,我想将其转换为 Maven 项目以进行依赖管理。

问题是,我有一个必须编辑的 jar (fop-1.1.jar)。它与公开可用的不同,我只在本地拥有它。但我需要这种方式。

我尝试做的是,遵循几个类似的操作方法,它在项目内部创建一个假的 Maven 存储库(本地存储库不好,因为有几个人在该项目上工作,并且解决方案必须是独立的Git) 并从 pom.xml 中引用此 repo。听起来像我要走的路,但它不起作用。 Eclipse 显示 项目 repo 灰显:(

我错过了什么?

顺便说一句:这是我试图遵循的:https://devcenter.heroku.com/articles/local-maven-dependencies

【问题讨论】:

  • 您尝试做的只是将您的工件上传到公共存储库。我错了吗?如果是这样,最简单的方法是使用 OSSRH,例如,并使用它上传到 Maven Central。但是当你使用公共回购时,你有这方面的指导方针。 HTH。
  • 不,不是公共回购,我正在尝试在项目内的文件夹中设置本地虚假回购。

标签: java eclipse maven m2e


【解决方案1】:

让我建议另一种方法:当我们需要“编辑”一个 jar 时,我们给它一个特殊的版本号,例如 1.1-edited,而不是 1.1.。然后我们就可以轻松地将它上传到我们正常的 Maven 存储库并使用它。 Maven 甚至确保您不会在同一个项目中意外加载两个版本,因为编辑只在版本号中。

【讨论】:

  • 这是有道理的,只是我没有自己的存储库服务器可以上传到。我只使用 Maven Central,这是唯一需要特殊处理的情况。
【解决方案2】:

我猜你需要的是一个私有的maven服务器(我猜它存在),然后执行命令部署jar(部署之前,检查你的帐户是否有权限)

mvn deploy:deploy-file -Dfile=${jarFilePath} -DgroupId=${groupID} -DartifactId=${artifactId} -Dversion=${version} -Durl=${privateServerURL} -Dpackaging=jar -DrepositoryId=${privateServerURLInYourMavenSettings.xml}

, 部署成功后,添加maven依赖

            <dependency>
                <groupId>${groupID}</groupId>
                <artifactId>${artifactId}</artifactId>
                <version>${version}</version>
            </dependency>

【讨论】:

  • 谢谢,但不,我没有私人 Maven 服务器,老实说,我也不想设置一个。从我读到的,这应该可以只用一个目录,不是吗?
猜你喜欢
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多