私はリファレンスガイドのチュートリアルをやっています。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\view
view.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 であるのに、そのような古いリリースを使用することに意味があるかどうかはわかりません。