首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >appengine-maven-plugin有一个maven-war-plugin在后台吗?如果我自己定义,它会被调用两次

appengine-maven-plugin有一个maven-war-plugin在后台吗?如果我自己定义,它会被调用两次
EN

Stack Overflow用户
提问于 2013-07-11 07:08:15
回答 1查看 877关注 0票数 1

我尝试了很多东西,似乎我的项目执行了两次"maven-war-plugin“。

正因为如此,我不能运行优化,比如将所有类合并到一个jar中(使用maven shade插件)。

我非常确定appengine-maven-plugin正在调用maven-war-plugin来创建appengine包。我之所以知道这一点,是因为我试着去掉我自己对"maven-war-plugin“的定义,但它仍然是”神奇地“执行。这样做有什么意义吗?

我的pom.xml是:

代码语言:javascript
复制
 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>war</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
                <webResources>
                    <!-- in order to interpolate version from pom into appengine-web.xml -->
                    <resource>
                        <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                        <filtering>true</filtering>
                        <excludes>
                            <exclude>**/*.jar</exclude>
                        </excludes>
                        <targetPath>WEB-INF</targetPath>
                    </resource>
                </webResources>
            </configuration>
        </plugin>   

        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>${appengine.target.version}</version>                              
            <configuration>     
                <useJava7>true</useJava7>
                <address>0.0.0.0</address>
                <port>8080</port>
                <compileEncoding>utf-8</compileEncoding>

                <jvmFlags>
                    <jvmFlag>-XX:-UseSplitVerifier</jvmFlag>
                    <jvmFlag>-Xms512m</jvmFlag>
                    <jvmFlag>-Xmx2048m</jvmFlag>
                    <jvmFlag>-XX:NewSize=256m</jvmFlag>
                    <jvmFlag>-XX:MaxNewSize=256m</jvmFlag>
                    <jvmFlag>-XX:PermSize=512m</jvmFlag>
                    <jvmFlag>-XX:MaxPermSize=768m</jvmFlag>
                    <jvmFlag>-Xdebug</jvmFlag>
                    <jvmFlag>-agentlib:jdwp=transport=dt_socket,address=31337,server=y,suspend=n</jvmFlag>
                </jvmFlags>                
            </configuration>
        </plugin>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-11 07:21:45

看起来您显式地运行了两次war插件,在executions部分中声明了该插件的另一次执行。appengine-maven-plugin只是声明包阶段必须已经完成。它并不关心打包过程中会发生什么。

Here就是一个很好的例子。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17582465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档