0

私はリファレンスガイドのチュートリアルをやっています。view.groovy に変更を保存すると、eclipse のビルド ワークスペース メッセージが表示されますが、コア ディレクトリで mvn コンパイルを実行するまで、これらの変更は ViewTester に表示されません。

これは正しい動作ですか?コア ディレクトリで明示的な mvn コンパイルを行わなくても、ViewTester で変更を確認できますか?

私のセットアップ: Win7、jdk1.7.0_55、Eclipse Luna Service Release 2 (4.4.2)、www.jspresso.org/external/updates/e44/ の Jspresso Developer Studio

更新:refId id:'contact' mvn compileの代わりに使用するとreference 'contact', ref:'ContactInfo'、次のエラーが表示されます。

[INFO] Scanning for changes : C:\jspdev\wstutorial\quickhr\core\src\main\dsl
[INFO] Detected a change on source C:\jspdev\wstutorial\quickhr\core\src\main\dsl\view.groovy. Sun May 31 17:59:40 CEST 2015 > Sun May 31 17:57:14 CEST 2015
NBR ERROR : 1
UR-Unresolved reference        : "Company.pane" ask for <Company.contact.address> of type field

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.038s
[INFO] Finished at: Sun May 31 17:59:51 CEST 2015
[INFO] Final Memory: 15M/37M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jspresso.maven:sjs-maven-plugin:4.1-SNAPSHOT:compile-sjs (generate-dsl-application) on project quickhr-core: SJS defined frontend / views is invalid.
[ERROR] NBR ERROR : 1
[ERROR] UR-Unresolved reference        : "Company.pane" ask for <Company.contact.address> of type field
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

UPDATE2: Vincent がrefId 'contact', id:'contact'refid 使用時のコンパイル エラーを修正したと言ったように。プロジェクト ワークスペースをクリーンアップしても、ViewTester の問題は解決しません。C:\jspdev\wstutorial\quickhr\core\target\generated-resources\dsl\de\aboware\quickhr\viewview.groovy が保存されているがディレクトリではなく、dsl-view.xml がディレクトリで更新されていることを発見しました。ViewTesterC:\jspdev\wstutorial\quickhr\core\target\classes\de\aboware\quickhr\viewはそこからそれを読み取っているようです。mvn compile を実行すると、このディレクトリ内のファイルが更新され (または手動でコピーされ)、ViewTester が変更を検出します。これが自動的に起こらない理由は何ですか?

UPDATE3: Eclipse/Maven ソースの問題かもしれません。view.groovy に変更を保存した後にビルド クリーンを実行すると (autobuild が有効になっている場合)、ViewTester はコンソールで明示的な mvn compile を使用せずに変更を取得します。view.groovy への変更を保存した後、プロジェクトのすべての必要な部分が自動的に再コンパイルされるわけではないようです。ヒントはありますか?

UPDATE4: Groovyファイルのすべての変更について、ViewTester と SwingStartup の変更を確認するためにビルド クリーンを実行する必要があります。jspressoの問題というよりは、Eclipseのバージョン/セットアップの問題だと思います。これを処理するのに多少役立つクリーンなビルドへのショートカットをバインドしました。

更新5:Jspresso 4.2-SNAPSHOT を使用して 2 回 (Kepler/Luna) ゼロから開始し、リソース ディレクトリが存在することを確認しましたが、成功しませんでした。groovy ファイルへの変更を保存すると、compile-sjs ゴールがトリガーされ、Spring xml ファイルが target/generated-resources/dsl ディレクトリで更新されます。しかし、デフォルトの出力ディレクトリ target/classes では何も起こりません。生成されたSpring xmlファイルを(Eclipse内から)手動で変更すると、target/classesディレクトリが更新されます。Eclipse は、Spring xml ファイルの生成を、自動ビルドによって応答する必要があるワークスペースの変更として認識しないと思います。Eclipse の新しいバージョンでは、M2E に何か変更が加えられている可能性があります。Juno でもう一度試してみる必要がありますか? しかし、火星がすでに RC2 であるのに、そのような古いリリースを使用することに意味があるかどうかはわかりません。

4

1 に答える 1

0

refIdの使用に関するドキュメントに誤りがありました。これは現在修正されています。正しいステートメントは次のとおりです。

refId 'contact', id:'contact'

主な問題に関しては、ファイルを保存した後にViewTesterview.groovyを再起動するだけで、変更が反映されます。CLI を使用する必要はありません。あなたの質問を読んで、Eclipseビルドがトリガーされていることがわかりますので、変更が表示されるために必要な自動ビルドがオンになっていると思います。ワークスペースを完全にクリーンアップして ( [プロジェクト] > [クリーン...] > [すべてのプロジェクトをクリーン])、もう一度やり直すことはできますか? Groovy DSL ソースの変更がインクリメンタル ビルドによって正しく検出されない場合があります。

更新target/generated-resources/dsl:プロジェクトのリソース ディレクトリとして正しくインストールされていることを確認してください。これは、ME2 にビルド フックを登録する JDS プラグインによって自動的に実現されます。

ここに画像の説明を入力

于 2015-06-01T07:16:26.667 に答える