【发布时间】:2010-12-01 01:02:10
【问题描述】:
将具有 Class-Path 属性的 MANIFEST.MF 文件添加到 EAR 内的 META-INF 目录会影响 WebLogic 8.1 下位于 APP-INF/lib 中的 JAR 的加载顺序吗?
【问题讨论】:
标签: java jar weblogic packaging ear
将具有 Class-Path 属性的 MANIFEST.MF 文件添加到 EAR 内的 META-INF 目录会影响 WebLogic 8.1 下位于 APP-INF/lib 中的 JAR 的加载顺序吗?
【问题讨论】:
标签: java jar weblogic packaging ear
我不相信你可以通过 MANIFEST.MF 的 ClassPath 属性来控制 APP-INF/lib 的顺序。
根据客户的不同,我采用了几种不同的方法。
【讨论】:
我认为类加载器会读取您的应用程序需要的 JAR。
我有两个问题要问你:
更新:
这听起来不一样,几乎就像您与服务器 JAR 发生冲突一样。 prefer-web-inf-classes 针对这种情况的设置。是这个意思吗?
【讨论】:
我同意duffymo
您不必担心类加载的顺序,如果这是由于类冲突造成的,您始终可以使用 Maven 或类似工具从 Jars 中排除冲突的类。
例如,这是一个添加 jersey-spring4 jar 的非常简单的示例,但我排除了它的依赖项,因此我可以使用不同版本的 spring 框架库。
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring4</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-web</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-aop</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
【讨论】: