0

我继承了一个ant用于构建的旧项目weblogic.jar。我正在将其转移到基于更现代maven的构建环境中,并且我不想将weblogic.jar(34MB)签入到我的私有工件存储库中,我也不想将它添加到我的本地存储库中。我不确定它使用的是什么,该项目是一个超过 500,000 行代码的单一代码库。

实际上,我们的本地开发机器上不会有 Weblogic,我们正在部署到远程虚拟机进行测试,因为公司网络拓扑结构是为了获得我们的应用程序需要与之通信的服务。

我有什么替代方案来反对weblogic.jar.

4

3 回答 3

2

使用系统范围通常被认为是一种不好的做法。但是,我会说,在 的情况下weblogic.jar,使用系统范围是有意义的。原因是它weblogic.jar不包含 WLS 安装提供的所有类。如果您打开weblogic.jar并查看里面的文件,它在条目MANIFEST.MF中包含一长串 jar 文件。Class-Path:这些 jar 引用都使用相对路径。这意味着如果您将其weblogic.jar放入 maven 存储库,则相对路径将被破坏,您需要将更多 WLS jar 文件放入您的 maven 存储库。

问题是,如果您的系统范围依赖项指向weblogic.jarWLS 安装中的 ,您需要为所有开发人员标准化 WLS 安装目录。否则,您的构建在其他开发人员的机器上是不可移植的。

于 2013-03-15T03:48:08.713 回答
1

如果您不想将其放入本地存储库,则可以使用系统范围的依赖项来引用它,在这种情况下,您只需从磁盘中引用它。我不确定为什么那会是更好的选择,但既然你要求它,你可能有充分的理由。

但是,假设您根本不想使用 weblogic.jar:在不知道您需要什么的情况下,实际上不可能说出针对它构建的替代方案。这需要先弄清楚。如果您使用特定于 weblogic 的东西,您确实需要参考。

于 2013-03-14T22:00:03.050 回答
1

由于 maven 会将它尝试解析的所有内容下载到您的本地存储库中,因此唯一的方法(afaik)将使用maven-ant-task包装现有的 ant 任务。

就我个人而言,我更愿意将 weblogic 的东西添加到 maven 存储库中。

于 2013-03-14T21:48:11.293 回答