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