2013-03-21 40 views
0

我使用eclipse来管理maven项目。maven目标,编译和部署到服务器

在这个项目中,我有一个特殊的插件,它在产生,ressources阶段创建文件的POM:

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

我有联系这个插件目标偏食生命周期日食编译过程中执行它:

<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编译过程中产生的好(我能找到它在目标目录)。

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

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

,但是这需要由Maven插件发布操作中不要复制生成的文件...

所以我的问题是:为什么通过一个Maven插件生成的文件日食过程中产生良好编译但在eclipse的自动服务器管理的发布/同步操作期间未在服务器上部署?

+0

我假设你只在pluginManagement区域添加了插件。 – khmarbaise 2013-03-21 09:07:06

+0

不,它在构建/插件中定义 – 2013-03-21 09:11:36

回答

0

答案是在你的问题中,因为你配置插件只在日食生命周期中运行,但是你错过了将增量添加到你的构建生命周期。

+0

我不明白,你是什么意思将执行添加到构建生命周期?我正在考虑执行(阶段生成资源)标签在这里。 – 2013-03-21 09:12:44

+0

这仅适用于Eclipse,但不适用于Maven。 – khmarbaise 2013-03-22 08:31:26

0

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

要配置这个(部署到服务器的东西)看看这个question和相应的答案。

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

+0

嗯,链接很有趣,因为它是说它使用部署描述符而不是目标目录来部署文件。所以,在转移过程中该文件被忽略... – 2013-03-21 09:13:38

相关问题