Jspresso 4.1-SNAPSHOT ViewTester
Jspresso 4.1-SNAPSHOT ViewTester
我正在做参考指南教程。在 view.groovy 中保存更改时,我可以看到 eclipse 的构建工作区消息,但这些更改不会显示在 ViewTester 中,直到我在核心目录中执行 mvn 编译。
这是正确的行为吗?如果没有在核心目录中显式 mvn 编译,是否可以看到 ViewTester 中的更改?
我的设置:Win7,jdk1.7.0_55,Eclipse Luna Service Release 2 (4.4.2),来自 www.jspresso.org/external/updates/e44/[=16 的 Jspresso Developer Studio =]
更新: 当使用 refId id:'contact'
而不是 reference 'contact', ref:'ContactInfo'
mvn compile 显示以下错误时:
[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 问题没有帮助。我发现 dsl-view.xml 在保存 view.groovy 时在目录 C:\jspdev\wstutorial\quickhr\core\target\generated-resources\dsl\de\aboware\quickhr\view
中更新,但在目录 C:\jspdev\wstutorial\quickhr\core\target\classes\de\aboware\quickhr\view
中没有更新,而且 ViewTester 似乎正在从那里读取它。 运行 mvn compile 更新此目录中的文件(或手动复制)然后 ViewTester 发现更改。知道为什么这不会自动发生吗?
UPDATE3: 可能是 eclipse/maven 来源的问题。当我在 view.groovy 中保存更改(启用自动构建)后执行构建清理时,ViewTester 在控制台上没有显式 mvn compile 的情况下获取更改。在将更改保存到 view.groovy 后,似乎并非项目的所有必需部分都会自动重新编译。对我有什么提示吗?
UPDATE4: 对于 groovy 文件中的每个更改,我都必须进行清理以查看 ViewTester 和 SwingStartup 中的更改。我认为这更多是我的 eclipse version/setup 的问题,而不是 jspresso 的问题。我已经绑定了一个快捷方式来构建干净的东西,这有助于解决这个问题。
UPDATE5: 我已经从头开始 2 次 (Kepler/Luna),两次都是使用 Jspresso 4.2-SNAPSHOT 并检查资源目录是否存在 - 没有成功。保存对 groovy 文件的更改时,会触发 compile-sjs 目标,并且会在 target/generated-resources/dsl 目录中更新 spring xml 文件。但是在默认输出目录 target/classes 中没有任何反应。当我手动更改生成的 spring xml 文件时(从 Eclipse 内部),target/classes 目录得到更新。我认为 eclipse 不会将 spring xml 文件的生成识别为必须由自动构建来回答的工作区更改。也许随着新的 eclipse 版本,M2E 发生了一些变化。我应该用 Juno 再试一次吗?但是我不知道在 Mars 已经是 RC2 的情况下使用这么旧的版本是否有意义。
关于 refId 使用的文档中存在错误。现在已经修复了。正确的说法是:
refId 'contact', id:'contact'
关于主要问题,只需在保存 view.groovy
文件后重新启动 ViewTester 就足以反映更改。无需通过 CLI。阅读您的问题,我可以看到触发了 Eclipse 构建,因此我假设 automatic build 是显示更改所必需的。
您能否彻底清理工作区(项目 > 清理...> 清理所有项目)并重试?有时增量构建无法正确检测到 groovy dsl 源中的更改。
UPDATE:请确保 target/generated-resources/dsl
已正确安装为项目中的资源目录。这应该通过在 ME2 中注册构建挂钩的 JDS 插件自动实现。
我正在做参考指南教程。在 view.groovy 中保存更改时,我可以看到 eclipse 的构建工作区消息,但这些更改不会显示在 ViewTester 中,直到我在核心目录中执行 mvn 编译。
这是正确的行为吗?如果没有在核心目录中显式 mvn 编译,是否可以看到 ViewTester 中的更改?
我的设置:Win7,jdk1.7.0_55,Eclipse Luna Service Release 2 (4.4.2),来自 www.jspresso.org/external/updates/e44/[=16 的 Jspresso Developer Studio =]
更新: 当使用 refId id:'contact'
而不是 reference 'contact', ref:'ContactInfo'
mvn compile 显示以下错误时:
[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 问题没有帮助。我发现 dsl-view.xml 在保存 view.groovy 时在目录 C:\jspdev\wstutorial\quickhr\core\target\generated-resources\dsl\de\aboware\quickhr\view
中更新,但在目录 C:\jspdev\wstutorial\quickhr\core\target\classes\de\aboware\quickhr\view
中没有更新,而且 ViewTester 似乎正在从那里读取它。 运行 mvn compile 更新此目录中的文件(或手动复制)然后 ViewTester 发现更改。知道为什么这不会自动发生吗?
UPDATE3: 可能是 eclipse/maven 来源的问题。当我在 view.groovy 中保存更改(启用自动构建)后执行构建清理时,ViewTester 在控制台上没有显式 mvn compile 的情况下获取更改。在将更改保存到 view.groovy 后,似乎并非项目的所有必需部分都会自动重新编译。对我有什么提示吗?
UPDATE4: 对于 groovy 文件中的每个更改,我都必须进行清理以查看 ViewTester 和 SwingStartup 中的更改。我认为这更多是我的 eclipse version/setup 的问题,而不是 jspresso 的问题。我已经绑定了一个快捷方式来构建干净的东西,这有助于解决这个问题。
UPDATE5: 我已经从头开始 2 次 (Kepler/Luna),两次都是使用 Jspresso 4.2-SNAPSHOT 并检查资源目录是否存在 - 没有成功。保存对 groovy 文件的更改时,会触发 compile-sjs 目标,并且会在 target/generated-resources/dsl 目录中更新 spring xml 文件。但是在默认输出目录 target/classes 中没有任何反应。当我手动更改生成的 spring xml 文件时(从 Eclipse 内部),target/classes 目录得到更新。我认为 eclipse 不会将 spring xml 文件的生成识别为必须由自动构建来回答的工作区更改。也许随着新的 eclipse 版本,M2E 发生了一些变化。我应该用 Juno 再试一次吗?但是我不知道在 Mars 已经是 RC2 的情况下使用这么旧的版本是否有意义。
关于 refId 使用的文档中存在错误。现在已经修复了。正确的说法是:
refId 'contact', id:'contact'
关于主要问题,只需在保存 view.groovy
文件后重新启动 ViewTester 就足以反映更改。无需通过 CLI。阅读您的问题,我可以看到触发了 Eclipse 构建,因此我假设 automatic build 是显示更改所必需的。
您能否彻底清理工作区(项目 > 清理...> 清理所有项目)并重试?有时增量构建无法正确检测到 groovy dsl 源中的更改。
UPDATE:请确保 target/generated-resources/dsl
已正确安装为项目中的资源目录。这应该通过在 ME2 中注册构建挂钩的 JDS 插件自动实现。