Jspresso 4.1-SNAPSHOT ViewTester

时间:2015-05-31 10:41:49

标签: java jspresso

我在做参考指南教程。在view.groovy中保存更改时,我可以看到eclipse的构建工作区消息,但在我在核心目录中执行mvn编译之前,这些更改不会显示在ViewTester中。

这是正确的行为吗?如果没有在核心目录中显式的mvn编译,是否可以在ViewTester中看到更改?

我的设置:Win7,jdk1.7.0_55,Eclipse Luna Service Release 2(4.4.2),Jspresso Developer Studio,来自www.jspresso.org/external/updates/e44 /

更新:使用refId id:'contact'代替reference 'contact', ref:'ContactInfo'时mvn编译显示以下错误:

[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问题没有帮助。我发现当保存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时,dsl-view.xml会更新,而且ViewTester似乎正在那里读取它。运行mvn compile会更新此目录中的文件(或手动复制),然后ViewTester会查找更改。知道为什么这不会自动发生吗?

UPDATE3:也许这是一个日食/ maven来源的问题。当我在view.groovy中保存更改后执行构建清理时(启用了autobuild)ViewTester在没有显式mvn编译的情况下获取更改。在保存对view.groovy的更改之后,似乎并非所有必需的项目部分都会自动重新编译。有什么提示吗?

UPDATE4:对于groovy文件中的每个更改,我都必须进行构建清理以查看ViewTester和SwingStartup中的更改。我认为这是我的eclipse版本/设置问题而不是jspresso的问题。我已经绑定了一个快捷方式来构建清理,这有助于解决这个问题。

UPDATE5:我已经用Jspresso 4.2-SNAPSHOT从头开始2次(Kepler / Luna)并检查资源目录是否存在 - 没有成功。保存对groovy文件的更改时,将触发compile-sjs目标,并在target / generated-resources / dsl目录中更新spring xml文件。但是在默认输出目录target / classes中没有任何反应。当我手动更改生成的spring xml文件(从eclipse中)时,target / classes目录会更新。我认为eclipse不会将spring xml文件的生成识别为工作空间更改,必须通过自动构建来回答。也许在更新的eclipse版本中,M2E发生了一些变化。我应该再试一次Juno吗?但是,我不知道在火星已经是RC2的情况下使用这样一个旧版本是否很有意义。

1 个答案:

答案 0 :(得分:0)

文档中有关 refId 使用的错误。这已经解决了。正确的陈述是:

refId 'contact', id:'contact'

关于主要问题,只需在保存view.groovy文件后重新启动 ViewTester 就足以反映更改。无需通过CLI。阅读你的问题,我可以看到Eclipse构建被触发,所以我认为自动构建是必要的,以便更改出现。 您可以完全清理工作区(项目&gt;清理...&gt;清理所有项目)并重试?有时,增量构建无法正确检测到groovy dsl源的更改。

更新:请确保target/generated-resources/dsl已正确安装为项目中的资源目录。这应该通过在ME2中注册构建挂钩的JDS插件自动实现。

enter image description here