首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用WebLogic10.3依赖项构建Ant

尝试使用WebLogic10.3依赖项构建Ant
EN

Stack Overflow用户
提问于 2011-03-08 19:27:31
回答 2查看 2.7K关注 0票数 2

我是一个CM,负责我们的持续构建过程,并帮助开发人员正确定义和使用构建。我尝试以这样一种方式设置,即开发人员只需从源代码管理系统下载模块,然后输入antmaven,一切都可以正常工作。

在Ant项目中,我要么使用ivy,要么有一个包含所需第三方jar文件的lib目录。这有助于我清楚地定义所有依赖项,并使开发人员更容易地将模块构建在他们的系统上。是的,有一些依赖于正确的JDK版本,有些依赖于正确的Ant版本,但即使这些版本也有点灵活。此外,枕和Jenkins/Hudson允许您定义您想要使用的确切的JDK和Ant版本。

问题是这个项目依赖于WebLogic10.3(又名11g)。在Weblogic 10之前,您几乎可以只使用weblogic.jar文件和其他一两个jars就可以了。从Weblogic 10开始,jars现在已经“模块化”了。

当我进行构建时,我仍然简单地将weblogic.jar包含在我的类路径中。但是,weblogic.jar在其MANIFEST.MF文件中包含对..\..\..\modules\features目录(实际上是包含WebLogic10.3的父目录)的引用。这里是不包含类路径的jars,但是它们的MANIFEST.MF中嵌入了指向其他jars的Classpath。这些反过来也可以参考其他的罐子。

我想我有一个选择:

module.

  • Somehow
  1. 在我的源代码存储库中包含了整个10,900文件,700 my的Weblogic,每个Weblogic都使用Maven或Ivy作为一个tarball下载Weblogic。
  2. 告诉开发人员他们必须下载WebLogic10.3,然后修改构建过程以指向他们安装WebLogic10.3.

的位置。

这些选择现在对我都没有吸引力。

更新

正如其他人所指出的,我可以尝试找到各种jars,而我正是使用WebLogic9.x和早期版本做到了这一点。例如,一个简单的shell脚本:

代码语言:javascript
复制
find $WEBLOGIC_HOME -name "*.jar" | while read jar
do
   echo "JAR NAME = jar"
   jar tvf $jar
done | less

会在我的终端上显示所有Weblogic的内容。如果我在一个javax.servlet.ServletException类缺失的构建中发现,我可以搜索javax\servlet\ServletException.class,然后返回搜索JAR NAME =并找到jar的名称。

然而,在Weblogic 10中,我发现我依赖于javax.servlet.ServletException,并将其追溯到C:\bea\modules\javax.servlet_1.0.0.0.0.jar,它甚至不在我的$WEBLOGIC_HOME目录中。这是因为C:\bea\wlserver_10.3\server\lib\weblogic.jar包含到..\..\..\modules\features\somejar.jar的类路径。而且somejar.jar不包含任何类。相反,它在其类路径中包含对另一个jar的引用,然后该jar引用javax.servlet_1.0.0.0.0.jar

因此,我现在必须再添加四个jars,其中一个不包含类,如果我想模仿Weblogic的结构,我必须在我的lib目录中有以下文件:

  • weblogic.lib\wlserver_10.3\server\lib\weblogic.jar
  • weblogic.lib\modules\features\somejar.jar
  • weblogic.lib\modules\someOtherJar.jar
  • weblogic.lib\modules\javax.servlet_1.0.0.0.0.jar

好吧,那只花了两个小时就解决了。一个依赖问题降低了,还有43个问题要解决。

正如你所看到的,这可能需要几天,甚至几周的时间才能完成,最后我的...uh中会有几十个罐子.最小Weblogic 10模块。最后,这个最小的模块可能不会那么小。

有没有人知道一些文档可以让我快速确定这些依赖关系的存在位置,或者是一种构建依赖树的方法,以便当我需要类路径com.bea.weblogic.foo.bar.barfoo时,我可以很快看到我需要这7或8个jars?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-22 18:57:58

我放弃了。我只需安装Weblogic 10,并在我的build.xml中签入设置了$WEBLOGIC_HOME

票数 1
EN

Stack Overflow用户

发布于 2011-03-08 20:11:30

我想您将不需要构建整个700 to的包。所以你可以(是的,这是要做的)构建你自己的“weblogic”文件,它描述了用于构建和测试的极小的jar集。将该文件发布到您的公司repo中,并在您的依赖型conf中使用它,您和您的开发人员只需使用最小的conf即可,它不应该比其他应用服务器-客户端包大多少。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5237270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档