Перезагрузка изменения кода в Wicket - PullRequest
3 голосов
/ 16 декабря 2010

Я начал работать с Wicket .Когда я делаю изменения в шаблонах HTML, это сразу видно.

Но когда я делаю изменения в коде, мне нужно перезапустить Jetty.Я работаю в режиме DEVELOPMENT (по крайней мере, это то, о чем говорит большое жирное предупреждение в журнале), и я установил ReloadingWicketFilter согласно этому вопросу: Wicket - перезагрузка класса времени выполнения

Я предполагаю, что это происходит потому, что я делаю все изменения в конструкторе своих страниц, а Wicket не создает новую страницу при перезагрузке.

Я просматривал примеры Wicket, но естьнет примера, показывающего, как создать страницу Wicket без добавления всех компонентов в конструкторе или как указать Wicket для создания новой страницы для каждого запроса или как указать Wicket для создания новой страницы.

Ответы [ 3 ]

3 голосов
/ 20 декабря 2010

Я использую mvn jetty: run и этот конфиг в pom.xml:

 <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>${jetty.version}</version>
            <configuration>
                <!-- to be used in combination with netbeans compile on save feature -->
                <scanTargets>
                    <scanTarget>target/classes/</scanTarget>
                </scanTargets>
                <scanIntervalSeconds>1</scanIntervalSeconds>
            </configuration>
 </plugin>

И моя IDE (NetBeans) настроена так, что она компилируется при сохранении ... тогда я могу внести измененияпереключиться в браузер и нажать перезагрузить ... и изменения были применены + Jetty был перезагружен

Или использовать коммерческое приложение jrebel

0 голосов
/ 18 августа 2014

В IntelliJ запустите приложение «Пуск» через отладку.Когда вы вносите изменения в Java и компилируете, IntelliJ перезагружает класс через HotSpot.Изменения становятся доступными в вашем приложении.

Вы, конечно, ограничены ограничением HotSpot только возможностью (например) создавать новые классы и изменять тела методов.

0 голосов
/ 16 декабря 2010

Я думаю, что последний абзац может быть решен путем переопределения метода onInitialize () компонента.

См. http://wicket.apache.org/apidocs/1.4/org/apache/wicket/Component.html#onInitialize()

С уважением,

Марек

...