Перекомпиляция не работает с Groovlets - PullRequest
1 голос
/ 20 марта 2009

Я новичок в Groovy, очень нравится, но обнаружена проблема с компиляцией. Я использую Jetty в качестве веб-сервера, который обслуживает .groovy файлы (groovlets).

Рассмотрим два файла:

Test1.groovy , который содержит

println new Test2().property

Test2.groovy , который содержит:

public class Test2 {
   String property = "print this"
}

При вызове / Test1.groovy в браузере он печатает print this . Но когда я изменяю свойство в другом месте, он все равно печатает , печатает это , он не перекомпилируется. Единственное, что я могу сделать, это перезапустить причал. Обратите внимание, что когда весь код находится в одном файле, перекомпиляция работает.

Есть ли обходной путь для этого?

Ответы [ 2 ]

0 голосов
/ 20 марта 2009

Спасибо, но это не так. Я становлюсь немного ближе, компилятор может быть обманут:

При вызове / test2.groovy в браузере вы получаете ошибку сервера, потому что test2.groovy содержит только код класса (а не метод main), но при добавлении строки
println ""
к этому файлу, он на самом деле перекомпилируется при вызове его в браузере.

После этого test1.groovy тоже нужно перекомпилировать, чтобы он заработал. Это не очень аккуратное решение, но причал не нужно перезапускать таким образом ...

0 голосов
/ 20 марта 2009

Я думаю, причина, по которой он всегда отображает значение по умолчанию, заключается в том, что вы new вставляете его в строку ... или это просто проблема с примером?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...