1

とりわけ、Groovy 共通コード モジュールと別の Grails Web アプリケーション モジュールを含むプロジェクトがあります。Eclipse から IntelliJ 12.1.2 に変更したところ、大幅に改善されました。たとえば、Groovy プロジェクトのクラスにフィールドを追加すると、それらが Grails プロジェクトの IntelliSense で使用できることがすぐにわかります。また、もう 1 つの大きな利点は、Grails アプリのデバッグを IDE で実行できるようになったことです (コードのあらゆる場所に print ステートメントを散らかさなくて済むのは素晴らしいことです)。

しかし、私が抱えている問題は、Run->Run 'Grails:FooProj' または Run->Debug 'Grails:FooProj' を実行したときに実行されるコードが、保存されたものと同期していないように見えることです。コード。たとえば、ログ ステートメントをコードに追加して実行しようとしても、表示されません。jar/wars のキャッシュ バージョンを使用しているようです。

注意すべきことの 1 つは、私の実行 / デバッグ構成では、Maven 設定の「オフラインで作業」ボックスをチェックして、jar をプルダウンするために nexus に出て行かないようにする必要があったことです。公開されたものではなく、コードに加えたローカルの変更を使用する必要があります。

Web アプリのデバッグ時に行ったローカル コードの変更を IntelliJ で使用するにはどうすればよいですか? コンソールに移動しmvn clean installて共通コード プロジェクトを実行すると、その後 IntelliJ で正常に動作しますが、アプリをデバッグするたびにコンソールにドロップしたくありません。

4

2 に答える 2

1

アップデート

代替案は次のとおりです。

  • Grails pom.xml で Maven 依存関係を削除する
  • 共通プロジェクトの jar が最終的に grails-project-dir/lib になるようにする
  • project-dir/lib/common.jar ファイルへの IDE クラスパス依存関係の追加

共通コードは Maven の依存関係であり、ローカルの Maven キャッシュから取得されます。IDEからmaven clean installも実行できます...

単純な Maven 以外のプロジェクトを作成し、共通プロジェクトを依存関係として追加したくない場合は、変更がその場で取得されます。

それが十分に明確であることを願っています

于 2013-05-02T11:17:05.657 に答える