当我使用maven构建应用程序时,我运行mvn clean install
。作为安装生命周期的一部分,我从Google's GAE Maven plugin运行appengine:devserver_start
。这似乎已经绑定到生命周期中的一个步骤,因此它从头开始重新运行一些构建步骤,即使我运行mvn install
执行了这些步骤。例如,重新运行资源步骤。我运行了自己的Java脚本来下载构建的最新资源。但由于appengine:devserver_stop
,我需要再次无用地运行此cript,因为资源步骤已重新执行。
我可以想到两种避免这种情况的方法,但我不确定如何配置这两种方式。第一个是以某种方式跳过重新运行我已经运行的构建步骤。另一种方法是仅为插件执行更改Maven POM属性。我有一个Maven属性集,可以是true
或false
,我可以用来设置我在资源中使用的Java脚本的skip
设置(因为我使用的 EXEC-行家-插件)。可以将其视为可以使用 -D 标志设置的Maven属性。我可以为插件更改此属性吗?
如果您在考虑我的方案时遇到问题,请考虑运行mvn compile install
时会发生什么。所有构建生命周期步骤直到compile
运行,然后执行所有编译步骤,直到install
运行,包括compile
。
答案 0 :(得分:1)
解决此类问题的一种常见/简单方法是使用maven profile。只需创建一个包含具有首选阶段的插件的新配置文件。
答案 1 :(得分:0)
您可能不应该使用它而只是运行clean appengine:devserver_start
而不是clean install
。请阅读我的答案,以获得更详细的解释:
https://stackoverflow.com/a/17638442/2464295