2013-12-02 1 views
5

У меня возникли проблемы с созданием моего проекта Grails 2.2.3 от Groovy/Grails Tool Suite. Военное имя файла является динамическим и не всегда правильно настроено. Первая сборка будет прекрасной, но любые последующие сборки будут иметь предыдущее имя файла.Файл grails.project.war.file не создает войну с правильным именем файла, похоже, кэширует предыдущее имя?

Я использую почти точный метод, обозначенный @Burt Beckwith в Grails war filename based on environment, чтобы создать войну, которая включает в себя среду и дату/время. Таким образом, выход война должна быть чем-то вроде MyApp-1,3-TEST-2013_12_02-11_31.war или MyApp-1,3-ПРОИЗВОДСТВЕННО-2013_12_02-12_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 Tool Suite версии 3.3.0.Release с ID сборки 201307091644. Версия Java - 1.6. Я нахожусь на 64-битной машине Windows 7.

Первый раз, когда я когда-либо работать «тесты войны» следующее правильно генерироваться/выход:

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 

Среда и дата/время неверно! Новая война создается вместо предыдущей, но с предыдущей средой и предыдущей датой! Осмотр войны показывает, что была произведена производственная война (несмотря на имя файла). В частности, я проверил 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: Я также смог воспроизвести эту проблему, используя последнюю версию GGTS (3.4.0) для Windows, и сотрудник смог воспроизвести проблему на Mac.

ОБНОВЛЕНИЕ # 2: Я обнаружил, что этот вопрос не существовал при использовании GGTS 3.1.0 (на основе Eclipse 4.2). Проблема присутствует, по крайней мере, в GGTS 3.3.0 (на основе Eclipse 4.3) и выше.

Заранее благодарен!

ответ

3

Я считаю, что это происходит, когда проверяется установка «Groovy> Grails> Keep external Grails Running». Кроме того, кажется, что ошибка, но снятие этой проблемы разрешило проблему для меня.

+0

Я наблюдаю неуправляемое поведение, когда отключу установку «Grails Launch» «Держите внешние Grails запущенными». Я не могу создать новые проекты grails, и я получаю подсказку Grails, где я не могу запускать какие-либо дополнительные команды. Мне пришлось убить процесс Java и/или GGTS. Я могу столкнуться с ошибкой STS-3468 (https://issuetracker.springsource.com/browse/STS-3468). – bigfatony

Смежные вопросы