maven目标,编译和部署到服务器

时间:2013-03-21 08:47:59

标签: eclipse maven tomcat compilation

我正在使用eclipse来管理maven项目。

在这个项目的pom中,我有一个特殊的插件,它在generate-ressources阶段创建一个文件:

<plugin>
    <groupId>org.eclipse.acceleo</groupId>
    <artifactId>maven</artifactId>
    <version>3.2.1</version>
    <executions>
        <execution>
            <phase>generate-resources</phase>
            <goals>
                <goal>acceleo-compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我已将此插件目标链接到eclipse生命周期,以便在eclipse编译期间执行它:

<plugin>
    <groupId>org.eclipse.m2e</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <version>1.0.0</version>
    <configuration>
        <lifecycleMappingMetadata>
            <pluginExecutions>
                <pluginExecution>
                    <pluginExecutionFilter>
                        <groupId>org.eclipse.acceleo</groupId>
                        <artifactId>maven</artifactId>
                        <versionRange>[3.2.1,)</versionRange>
                        <goals>
                            <goal>acceleo-compile</goal>
                        </goals>
                    </pluginExecutionFilter>
                    <action>
                        <execute />
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
</plugin>

当我用eclipse做一个干净的项目时,项目再次编译,并且在eclipse编译期间生成了很好的文件(我可以在目标目录中找到它)。

现在,我想在tomcat服务器上部署我的webapp。我使用eclipse的服务器视图创建一个tomcat服务器,然后将项目拖放到此服务器中以进行同步和发布。

项目部署得很好,我可以启动服务器并测试我的应用程序。

但是,在发布操作期间,不会复制maven插件需要生成的文件...

所以我的问题是:为什么maclipse插件生成的文件在eclipse编译期间生成良好,但在eclipse自动服务器管理的发布/同步操作期间未部署在服务器上?

2 个答案:

答案 0 :(得分:0)

答案在你的问题中,因为你将插件配置为仅在eclipse Life cylce期间运行,但是你错过了将你的执行添加到你的构建生命周期中。

答案 1 :(得分:0)

据我所知,您的webapp的发布是通过eclipse wtp工具完成的。

要配置此功能(部署到服务器的内容),请查看此question以及相应的答案。

简而言之:我认为您需要配置在wtp部署应用时还会复制生成的文件(来自目标目录)。