将依赖性管理添加到现有Java项目

时间:2020-03-26 14:37:34

标签: eclipse maven ant dependency-management ivy

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

我的第一个想法是使用maven,最初效果很好。 Eclipse的Maven插件能够扫描我的项目并创建具有大多数必需依赖项的pom。对于eclipse进行编译和运行,效果很好,但是生产部署使用ant build脚本。我研究了maven-ant-resolver(https://maven.apache.org/resolver-ant-tasks/index.html),但据我所知,该项目没有将依赖项添加到类路径的方法,它能做的最好的就是将它们捆绑到jar中。

我查看的另一个选项是常春藤。似乎更适合与ant集成。不幸的是,与maven相比,常春藤的工具似乎原始。据我所知,没有选项可以从现有项目中生成依赖文件(ivy.xml)。由于要处理的依赖项数量很多,尤其是从jboss处理时,从头开始创建依赖项xml是不现实的选择。

我有什么解决此问题的选择?有没有办法用我没有看到的Maven或Ivy做我想做的事情?那里是否有另一个依赖项管理工具可以提供我需要的所有功能?

1 个答案:

答案 0 :(得分:0)

对于可能的用例,我可以推荐maven-assembly-plugin。不确定是否适合您。

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

虽然很有用:Maven允许您轻松地创建自己的插件来完全完成您想要的事情。如果它只是带有存储的类路径的文件,那可能是一个干净的解决方案。