【问题标题】:Adding Dependency Management to an Existing Java Project将依赖管理添加到现有 Java 项目
【发布时间】:2020-07-07 05:32:04
【问题描述】:

我正在升级一个遗留 Java 项目以与 jboss wildfly 兼容。作为该过程的一部分,我将使用自动化系统替换旧的依赖项管理系统(手动扫描文件夹中的 jar)。

我的第一个想法是使用 maven,最初效果很好。 Eclipse 的 maven 插件能够扫描我的项目并创建一个包含大部分所需依赖项的 pom。这适用于使用 eclipse 编译和运行,但生产部署使用 ant 构建脚本。我查看了 maven-ant-resolver (https://maven.apache.org/resolver-ant-tasks/index.html),但据我所知,该项目无法将依赖项添加到类路径中,它所能做的最好的事情是将它们捆绑到一个 jar 中。

我看到的另一个选项是 Ivy。它似乎更适合与 ant 集成。不幸的是,与 maven 相比,ivy 的工具似乎很原始。据我所知,没有从现有项目生成依赖文件(ivy.xml)的选项。考虑到我正在处理的依赖项的数量,尤其是来自 jboss 的依赖项,从头开始创建依赖项 xml 并不是一个现实的选择。

我有哪些解决这个问题的方法?有没有办法用我没有看到的 maven 或 ivy 做我想做的事?是否有其他依赖管理工具可以提供我需要的所有功能?

【问题讨论】:

  • 如果构建服务器使用 Ant 构建,我看不到使用 Maven 构建 本地 的优势。

标签: eclipse maven ant dependency-management ivy


【解决方案1】:

maven-assembly-plugin是我可以为可能的用例推荐的。不知道它是否适合你。

简而言之: 您可以将文件夹、jar、资源、依赖项等任何内容打包到 jar 中以进行生产部署。这个 jar 与内部使用的 maven-assembly-plugin 打包在一起,因此不需要显式引用,maven-archiver-plugin 它还存储了一个带有类路径的 MANIFEST.MF(默认情况下不是,但几乎没有调整代码) .

但有用的是:Maven 允许您非常轻松地创建自己的插件,这些插件完全可以满足您的需求。如果它只是一个带有存储类路径的文件,这可能是一个干净的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 2014-03-04
    • 2012-11-27
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多