Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven自动上传的不完整战争_Maven_War - Fatal编程技术网

Maven自动上传的不完整战争

Maven自动上传的不完整战争,maven,war,Maven,War,为了简化Jave EE应用程序的部署过程,我指示Maven自动将生成的WAR文件复制到应用程序服务器 pom.xml: <plugin> <artifactId>exec-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> <executions>

为了简化Jave EE应用程序的部署过程,我指示Maven自动将生成的WAR文件复制到应用程序服务器

pom.xml:

        <plugin>
            <artifactId>exec-maven-plugin</artifactId>
            <groupId>org.codehaus.mojo</groupId>
            <executions>
                <execution><!-- Run our version calculation script -->
                    <id>Copy to Application Server</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <executable>${basedir}/copy-to-appserver.sh</executable>
                    </configuration>
                </execution>
            </executions>
        </plugin>
不幸的是,这失败了!WAR成功地传输到应用服务器,但它混合了新旧代码。我的假设是Maven在创建WAR的过程中尝试发送它,因为当我在部署后手动运行复制脚本
copy to appserver.sh
时,应用服务器上的一切都可以正常工作


我的问题是,我必须更改什么,以便Maven只在WAR文件的创建/操作完成时访问该文件?

您的插件在生成源代码阶段被过早执行

通过将阶段更改为部署,在最后阶段运行它

<phase>deploy</phase>
部署

您的插件在生成源代码阶段被过早执行

通过将阶段更改为部署,在最后阶段运行它

<phase>deploy</phase>
部署

除了在正确的阶段运行插件,如6ToT所建议的,你可能还想考虑使用它,它专门用来解决你的问题。这样,你就可以摆脱那个讨厌的、讨厌的脚本了。

< P>除了在正确的阶段运行插件,如6ToT所建议的,你也可以考虑使用它,它专门用来解决你的问题。这样,您就可以摆脱那些讨厌的脚本。

我建议将构建过程和部署过程分开,因为
deploy
生命周期阶段旨在将工件上载到远程存储库

我建议将构建过程和部署过程分开,因为
deploy
生命周期阶段旨在将工件上载到远程存储库

嘿@6ton,谢谢你的快速回复。我将阶段更改为部署,但如果现在在NetBeans中点击
清理并构建项目
,脚本
复制到appserver.sh
将不再运行。现在我该如何部署WAR文件?通常的构建过程以干净安装的方式运行,安装后部署。嘿@6ton,谢谢你的快速回复。我将阶段更改为部署,但如果现在在NetBeans中点击
清理并构建项目
,脚本
复制到appserver.sh
将不再运行。现在我该如何部署WAR文件?通常的构建过程以干净安装、安装后部署的方式运行。