我继承了一个使用ant
构建weblogic.jar
的旧项目。我正在将其转移到更现代的基于maven
的构建环境中,我不想将weblogic.jar
(34MB)签入我的私有工件存储库中,我不想将其添加到我的本地存储库。我不确定它是从什么用的,该项目是一个超过500,000行代码的单片代码。
我们在本地开发机器上实际上不会有Weblogic,我们正在部署到远程虚拟机进行测试,因为企业网络拓扑结构可以获得我们的应用程序需要与之交谈的服务。
我需要采取哪种方法来构建weblogic.jar
。
答案 0 :(得分:2)
使用系统范围通常被认为是一种不好的做法。但是,我会说在weblogic.jar
的情况下,使用系统范围是有道理的。原因是weblogic.jar
不包含WLS安装提供的所有类。如果您打开weblogic.jar
并查看里面的MANIFEST.MF
文件,它会在Class-Path:
条目中包含一长串jar文件。这些jar引用都使用相对路径。这意味着如果您将weblogic.jar
放入maven存储库,相对路径就会中断,您需要将更多WLS jar文件放入maven存储库。
问题是,如果系统范围的依赖关系指向WLS安装中的weblogic.jar
,则需要为所有开发人员标准化WLS安装目录。否则,您的构建在其他开发人员的计算机中不可移植。
答案 1 :(得分:1)
由于maven将尝试解析的所有内容下载到本地存储库中,唯一的方法(afaik)将使用maven-ant-task包装现有的ant任务。
就个人而言,我更愿意将weblogic内容添加到maven存储库中。
答案 2 :(得分:1)
如果您不想将其放入本地仓库,可以使用系统范围的依赖关系来引用它,在这种情况下,您只需从磁盘中引用它。我不确定为什么那会是更好的选择,但既然你要求它,你可能有充分的理由。
但是假设您根本不想使用weblogic.jar:在不知道您需要什么的情况下,实际上不可能说出构建它的替代方案。这需要先找到。如果你使用weblogic特定的东西,你需要参考。