3

IntelliJ Idea 12、Maven、JRebel、および Tomcat を使用して Web ベースのアプリケーションを開発しています。Spring Bean への変更を自動的にリロードする JRebel を利用するために、以下の Intellij が提供する展開された war デプロイメントを使用しました。

IntelliJ 爆発戦争展開

Maven モジュールが原因で、IntelliJ は Maven の規則に正確に従い、Java ファイルを出力フォルダー(target/classes)にコンパイルしました。これは、展開された webapp ディレクトリ(target/spring-mvc-showcase/webapp/web-inf/classes) とは異なります。その結果、Tomcat と JRebel はこれらの新しいクラスの変更をリロードできません。

現時点では、IntelliJ の出力フォルダーがフォルダーWEB-INF/classesを指すように一時的に構成して、変更を再読み込みできるようにしました。私はMavenの慣習を破りたくないので、もっとエレガントな解決策を教えてもらえますか?

target (Maven generated artifact directory)
  |
   -- classes (compiled)
  |
   -- spring-mvc-showcase (exploded webapp directory)
           |
            -- WEB-INF
                 |
                   -- classes
4

3 に答える 3

2

適切に構成した後、Tomcat を起動すると、次のように表示されます。

[2013-01-23 15:39:12] JRebel: Directory '/home/xxx/workspace/xxx/trunk/target/classes' will be monitored for changes.
[2013-01-23 15:39:12] JRebel: Directory '/home/xxx/workspace/xxx/trunk/src/main/webapp' will be monitored for changes.

次に、何かを変更するたびに、maven パッケージを実行する代わりに、「プロジェクトの作成」(IDEA で) を実行し、/target/classes フォルダーが更新され、構成がそのクラスを自動的にリロードします。

于 2013-01-23T13:56:59.190 に答える
1

IntelliJ IDEA JRebel プラグインがインストールされていますか? 「rebel.xml を生成する」アクションを追加します。これにより、rebel.xml ファイルが生成されます。このファイルは、デプロイメントの WEB-INF/classes に配置され、IDEA がコンパイルする場所にクラスをマップします。

于 2013-01-23T11:56:47.573 に答える
0

ここでは、IDEA、Jrebel、および maven-tomcat を使用してホット デプロイをすばやく開始する簡単な方法を示します。 JRebel と tomcat7-maven-plugin を使用した IDEA ホット デプロイ Web アプリケーション

于 2015-08-04T05:44:42.923 に答える