0

嗨,我有一个包含多个模块的 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

两个模块都是war

web-main依赖于所有模块。和web-child依赖于前两个(api & commons)模块。

在 struts.xml 我包括struts-default.xml

pom.xml的 web-child模块中,我使用的是 WAR 插件和 JAR 插件。和web-child模块工作正常。JAR 插件用于创建模块的 JAR。但问题是,我不想将i 包含在 JAR 中。src/main/resources

web-child这是我在模块 pom.xml中的 JAR 插件

<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>
4

0 回答 0