2

我正在寻找一种使用 Gradle 生成具有所有依赖项和传递依赖项的 Maven 存储库的方法。

例如,我的项目可以依赖休眠。我想在磁盘上的某个地方创建一个本地存储库,其中包含休眠及其自身的依赖项。

我尝试了几种方法但没有成功:

  • uploadArtifact:似乎无法上传工件的依赖项
  • 同步任务:我没有 Maven 元数据并且我失去了传递依赖项

背景:我的产品有一个引擎和一个 webapp,可以部署为 War 存档、EAR 存档或不带 webapp,其中包含或不包含某些组件。我需要为用户提供一种配置所需内容的方法以及生成它的脚本。Gradle 似乎是一个不错的候选者,但我看不到如何创建一个包含所有可能需要的依赖项的本地存储库。

有人看到解决方案吗?

谢谢

4

2 回答 2

2

目前还没有一种简单的方法可以通过 Gradle 实现这一目标。您必须编写自己的解决方案。特别是,您必须找到一种在发布存档时重新创建原始 POM 的方法。

于 2012-11-22T11:57:22.033 回答
0

我找到了一个可能被其他人使用的解决方案。想法:使用 maven 生成存储库并使用程序集插件将项目打包为 zip。我用以下方式伪造 Maven:

<repositories>
    <repository>
        <id>my-internal-site</id>
        <url>file://${user.home}/.m2/repository</url>
    </repository>
</repositories>

并这样称呼它:

mvn install -Dmaven.repo.local=./src/lib/

pom 将包含主要依赖项和 src dir 包含在“捆绑包”中的所有其他内容

于 2012-11-22T14:14:44.713 回答