0

Eclipse から IntelliJ IDEA への切り替えを検討しています。コード行を変更するたびにアプリを再起動する必要がないように、JRebel を使用する必要があります。

1 つの .java ファイルで 1 行のコードを変更するたびに、その特定のファイルで IntelliJ の make プロセスを呼び出した後、JRebel は多数のクライアント側クラスを再ロードするように見えます。

Eclipse では、この残忍なリロード動作が時々発生することがありますが、ほとんどの場合、クラスのリロード プロセスははるかに高速です。

何かが足りないと思います。IntelliJ と JRebel を使用した経験のある人は、何も必要ないときに JRebel プラグインを 1 つのクラスにリロードさせる方法を知っていますか?

どんな助けでも大歓迎です!

  • 注 1 : スーパー開発モードが役立つことはわかっていますが、最初に JRebel プラグインを動作させたいと考えています。
  • 注 2 : VM 引数-Drebel.check_class_hash=trueも役立ちますが、プラグインがそのように動作するように意図されているとは思いません。
4

1 に答える 1

0

-Drebel.check_class_hash=true は、この種のケースのために導入されました。しかし、実際に確認する必要があるのは、クライアント側のクラスが再ロードされる理由です。JRebel は、クラス ファイルのタイムスタンプが変更されたときにクラスをリロードします。または、-Drebel.check_class_hash=true が設定されている場合は、タイムスタンプに加えてハッシュもチェックします。

したがって、最初に探すべきことは、単一のクラスを作成したときに、JRebel がリロードした他のクラスのタイムスタンプが変更されたかどうかです。GWT 用の IntelliJ のビルドは、コンパイル時にあまりにも多くのファイルにアクセスするだけなのでしょうか? または、実際に変更した単一のクラスをコンパイルすることもできます。

私が持っている1つの仮定は、上記が当てはまらない場合、変更しているコードのどこかにGWT.createがあり、make中に再実行する必要があるということです。伝播した。これは make プロシージャによってのみトリガーされ、JRebel は GWT.create 自体の再実行をトリガーしません。これは単なる仮定ですので、100% 真剣に受け止めないでください。

JRebel サポートに問い合わせることもできます。

于 2013-10-08T21:48:29.993 に答える