在EAR文件中,EAR级别的lib文件夹跨所有Web应用程序(即EAR中的所有.wars)。 .war中的lib适用于仅适用于网络应用程序大战的库。
很多时候,您必须将特定库升级到EAR级别并设置classpath loader优先级优先级设置(在提供的应用程序服务器和提供的EAR之间)jar。这是服务器(如WebSphere)中的常见需求。
下面是行家为例战争配置,其中具体的罐子从EAR水平检索,并专门从WAR排除:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Class-Path>lib/wsdl4j-1.6.2.jar lib/mail-1.4.jar</Class-Path>
</manifestEntries>
</archive>
<packagingExcludes>WEB-INF/lib/wsdl4j-1.6.2.jar,WEB-INF/lib/mail-1.4.jar</packagingExcludes>
<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
<warSourceExcludes>WEB-INF/jetty-env.xml</warSourceExcludes>
</configuration>
</plugin>