嗨,我有一个包含多个模块的maven项目。在4个模块中,2个是web。这是结构。
MyProject
|
|__ api
|
|__ commons
|
|__ web_child
|
|__ web_main
web_main 模块是主要模块,它也可以包含 web_child 模块。
web_child模块结构是
web_child
|
|__ src/main/java //java action classes and all
|__ src/main/resources
| |__ struts-default.xml
|
|__ WEB-INF
|__ JSP Pages
web_main模块结构是
web_main
|
|__ src/main/java //java action classes and all
|__ src/main/resources
| |__ struts.xml
|
|__ WEB-INF
|__ JSP Pages
两个模块都是战争。
web-main 取决于所有模块。 web-child 取决于前两个(api& commons)模块。
在struts.xml中,我包含 struts-default.xml 。
在 pom.xml 中的 web-child 模块中,我正在使用WAR插件和JAR插件。并且 web-child 模块正常运行。
JAR插件用于创建模块的JAR。但问题是,我不想在JAR中加入 src/main/resources
。
这是我在web-child
模块pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>core</classifier>
<excludes>
<exclude>src/main/resources</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
这会创建JAR。这个JAR我在web-main
模块中添加为依赖。
web-main pom.xml依赖
<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>${project.parent.artifactId}-child</artifactId>
<version>${project.parent.version}</version>
<classifier>core</classifier>
</dependency>
<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>${project.parent.artifactId}-child</artifactId>
<version>${project.parent.version}</version>
<type>war</type>
</dependency>
第一个获得JAR,第二个获得战争。因此,web-child的所有主要资源都将来自WEB-INF类。它与WEB-INF / lib / web-child.jar中的文件冲突!文件。
那么如何从JAR中删除src / main / resources并在main-web中获取该JAR?
注意:我在WAR插件中尝试了以下内容
<attachClasses>true</attachClasses>
<classesClassifier>core</classesClassifier>
<packagingExcludes>src/main/resources</packagingExcludes>