2012-05-22 36 views
1

我想在eclipse插件(eclipse:eclipse)的eclipse目标运行后运行一些代码。如何在eclipse后执行代码:eclipse在maven中?

eclipse插件的文档说,生成资源阶段在eclipse目标之前执行,但它没有提到在之后执行的任何阶段。 我想包括与gmaven-插件的代码,但我无法找到正确的配置:

<execution> 
    <id>delete_generated_sources_from_cp</id> 
    <phase>generate-resources</phase> 
    <goals> 
     <goal>execute</goal> 
    </goals> 
    <configuration> 
     <providerSelection>1.7</providerSelection> 
     <source> 
      modifyClasspath.groovy 
     </source> 
    </configuration> 
</execution> 
+1

这里的问题是你调用一个目标而不是Maven的生命周期。换句话说,Maven的生命周期不仅仅运行maven-eclipse-plugin的特定目标,而不是运行在项目中的生命周期。也许你可以提供更多细节,你想达到什么样的目标,这样可能会有其他的机会。 – khmarbaise

回答

1

只需添加要执行到项目的插件。 mvn eclipse:eclipse otherplugin:goal

+0

将执行添加到流程资源阶段并调用例如'mvn install'也有诀窍,但我希望在调用'mvn eclipse:eclipse'后运行代码,这样就不会有任何可能犯下错误。 –

+0

如果你想运行mvn eclipse:eclipse,唯一的选择是我的答案中的第二个选项。如果这是你想要的,你也应该从上面的配置中移除执行块,否则当你调用mvn install时它也会运行。 –

+0

好吧,那就是我的想法。谢谢。 –

1

蚀:如果您添加插件的执行的阶段process-resources将Eclipse插件后,如果您运行mvn process-resources(或处理资源之后的任何阶段)

你也可以直接调用它们执行:日食并不是执行代码的好方法。我的意思是如果你想将项目导入到eclipse中,你应该使用'eclipse:eclipse',否则你不应该这样做。

执行代码取决于你的代码;如果这是基于Web的,则应将其部署到应用程序服务器中。如果它具有可执行主类,则应该使用'java'命令执行它。

我想包括与gmaven-插件的代码,但我无法找到正确的配置

我不明白你的意思。你能解释更多吗?

+0

我想执行的代码与由eclipse插件生成的.classpath文件密切相关。 groovy集成插件的问题在于它生成了一个生成的源代码/ groovy-stubs文件夹,该文件夹被添加到eclipse中的构建路径中并导致问题。一个简单的解决方案是从构建路径中删除它。为了自动执行此操作,我想在eclipse之后附加一些代码:eclipse插件已执行,这将修改.classpath文件。 –

相关问题