我在Maven WAR中苦苦挣扎Java类过滤。 Maven编译了很多Java类,所有这些类都出现在
中target/classes
我有这样的包裹:
a/A.class
a/b/B.class
a/b/C.class
到目前为止还可以。但我需要的是在
中包含一个Java类WEB-INF/classes
像这样:
a/b/B.class
这是我的pom.xml中的插件部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warName>${project.artifactId}</warName>
<webXml>${basedir}/src/main/application/WEB-INF/web.xml</webXml>
<packagingExcludes>WEB-INF/lib/*.jar,a/A.class,a/b/C.class</packagingExcludes>
<webResources>
<resource>
<directory>${basedir}/src/main/application/WEB-INF</directory>
<includes>
<include>jboss-web.xml</include>
</includes>
<targetPath>WEB-INF</targetPath>
</resource>
<resource>
<directory>${basedir}/src/main/application/META-INF</directory>
<includes>
<include>standard-jaxws-endpoint-config.xml</include>
</includes>
<targetPath>META-INF</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
不幸的是,所有类都被打包到我的WAR中。
任何提示?
祝你好运, SK
答案 0 :(得分:1)
我相信这会根据目标目录中构建的应用程序的相对位置来过滤类。这意味着您的类文件在此阶段存储在WEB-INF / classes中。
尝试更改此内容:
<packagingExcludes>WEB-INF/lib/*.jar,a/A.class,a/b/C.class
到
<packagingExcludes>WEB-INF/lib/*.jar,WEB-INF/classes/a/A.class,WEB-INF/classes/a/b/C.class