grails.project.war.file没有使用正确的文件名创建war,似乎正在缓存以前的名称?

grails.project.war.file没有使用正确的文件名创建war,似乎正在缓存以前的名称?,grails,grails-2.2,Grails,Grails 2.2,从Groovy/Grails工具套件构建Grails 2.2.3项目时遇到问题。war文件名是动态的,并不总是正确设置。第一个版本可以,但任何后续版本都将具有以前的文件名 我正在使用@Burt Beckwith in确定的几乎完全相同的技术来创建一场包括环境和日期/时间的战争。因此,输出战争应该类似于myapp-1.3-TEST-2013\u 12\u 02-11\u 31.war或myapp-1.3-PRODUCTION-2013\u 12\u 02-12\u 00.war BuildConf

从Groovy/Grails工具套件构建Grails 2.2.3项目时遇到问题。war文件名是动态的,并不总是正确设置。第一个版本可以,但任何后续版本都将具有以前的文件名

我正在使用@Burt Beckwith in确定的几乎完全相同的技术来创建一场包括环境和日期/时间的战争。因此,输出战争应该类似于myapp-1.3-TEST-2013\u 12\u 02-11\u 31.war或myapp-1.3-PRODUCTION-2013\u 12\u 02-12\u 00.war

BuildConfig.groovy如下所示:

grails.project.war.file = "target/${appName}-${appVersion}-${grails.util.Environment.current}-${new Date().format('yyyy_MM_dd-HH_mm')}.war"
如果从命令行生成,则不存在此问题。我使用的是Groovy/Grails工具套件版本3.3.0.Release,构建ID为201307091644。Java版本是1.6。我在Windows7 64位计算机上

我第一次运行“测试war”时,正确生成/输出了以下内容:

Loading Grails 2.2.3
| Configuring classpath.
| Environment set to test.....
| Packaging Grails application..
| Compiling 179 source files
Note: C:\Users\me\.grails\2.2.3\projects\myapp\plugins\cache-1.0.0\src\java\grails\plugin\cache\web\GenericResponseWrapper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
| Compiling 179 source files..
| Compiling 31 source files.....
| Compiling 66 GSP files for package [myapp]..
| Compiling 4 GSP files for package [mail]..
| Building WAR file.....
| Done creating WAR target\myapp-1.3-TEST-2013_12_02-11_31.war
Loading Grails 2.2.3
| Environment set to production.....
| Packaging Grails application.....
| Compiling 66 GSP files for package [myapp]..
| Compiling 4 GSP files for package [mail]..
| Building WAR file.....
| Done creating WAR target\myapp-1.3-TEST-2013_12_02-11_31.war
第二次运行“prod war”时,以下内容生成/输出错误:

Loading Grails 2.2.3
| Configuring classpath.
| Environment set to test.....
| Packaging Grails application..
| Compiling 179 source files
Note: C:\Users\me\.grails\2.2.3\projects\myapp\plugins\cache-1.0.0\src\java\grails\plugin\cache\web\GenericResponseWrapper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
| Compiling 179 source files..
| Compiling 31 source files.....
| Compiling 66 GSP files for package [myapp]..
| Compiling 4 GSP files for package [mail]..
| Building WAR file.....
| Done creating WAR target\myapp-1.3-TEST-2013_12_02-11_31.war
Loading Grails 2.2.3
| Environment set to production.....
| Packaging Grails application.....
| Compiling 66 GSP files for package [myapp]..
| Compiling 4 GSP files for package [mail]..
| Building WAR file.....
| Done creating WAR target\myapp-1.3-TEST-2013_12_02-11_31.war
环境和日期/时间不正确!一场新的战争将取代上一场战争,但将使用以前的环境和日期!检查war会发现生成了一个生产war(尽管文件名为)。具体地说,我签出了web.xml,发现显示名称的值为/myapp-production-1.3

如前所述,通过命令行无法观察到此问题:

C:\data\GGTSWorkspace\myapp>grails prod war
| Done creating WAR target\myapp-1.3-production-2013_12_02-10_36.war

C:\data\GGTSWorkspace\myapp>grails test war
| Done creating WAR target\myapp-1.3-test-2013_12_02-10_41.war
我还创建了一个新的虚拟项目,并观察了这个新虚拟项目中的问题,因此我目前认为这是一个GGTS问题/设置

是否有人知道为解决此问题而进行的配置更改

更新#1:我还能够在Windows上使用最新的GGTS(3.4.0)重现此问题,并且一位同事能够在Mac上重现此问题

更新#2:我发现在使用GGTS 3.1.0(基于Eclipse 4.2)时不存在此问题。这个问题至少出现在GGTS 3.3.0(基于Eclipse4.3)及更高版本上


提前谢谢

我相信当选中设置“Groovy>Grails>Keep external Grails Running”时会出现这种情况。另外,这似乎是一个bug,但取消选中该选项对我来说解决了问题。

当我禁用“Grails启动”设置“保持外部Grails运行”时,我观察到了未被阻止的行为。我无法创建新的Grails项目,并且我得到了一个Grails提示符,在那里我无法运行任何其他命令。我不得不终止java进程和/或GGT。我可能遇到了错误STS-3468()。