Maven WAR <覆盖> - 包含WEB-INF / classes </overlays>中的文件

时间:2013-07-04 11:46:52

标签: maven overlays maven-war-plugin

我想从我的WEB-INF / classes中选择一个类文件(StartEngine.class)并放入我的WAR文件的根目录以获得以下结构

过程engine.war
|
| -WEB-INF
| -js
| -StartEngine.class
|

我使用了maven战争,但没有复制它。如果有人对此有任何解决方案,请帮助我。

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>

        <configuration>
          <overlays>
           <overlay>
             <artifactId>process-engine</artifactId>
              <excludes>
               <includes>
                <include>/WEB-INF/classes/StartEngine.class</include>
              </includes>
              <type>jar</type>
          </overlay>
            ...
       </plugins>

1 个答案:

答案 0 :(得分:2)

看起来您的配置需要重新设计。首先,我建议reading this page更好地理解叠加层。我可以从你的问题中找出一些可能的情况:

  1. 叠加应该来自单独的工件。如果您确实尝试从单独的工件中提取StartEngine.class文件,那么您将需要添加groupId以及artifactId。此外,由于类文件位于WEB-INF目录中,因此我怀疑此工件的类型为“war”(不是jar)。

  2. 如果您尝试移动项目中已有的文件,则不应使用叠加层。将类文件移动到war文件的基础不是标准布局,如果必须这样做,那么我建议查看maven resources plugin's copy resources goal

相关问题