首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春季Roo时间戳发行日期: 1.2.2为日期,1.2.4为日历

春季Roo时间戳发行日期: 1.2.2为日期,1.2.4为日历
EN

Stack Overflow用户
提问于 2013-12-13 22:23:44
回答 1查看 329关注 0票数 1

我有一个Spring (1.2.2)项目,我正在尝试构建这个项目。通过一个干净的SCM签出,一个mvn clean install构建得很好。

但是,当我将项目导入到我的SpringSource工具套件IDE (与m2eclipse和RoO1.2.4一起打包)中时,Eclipse将调用roo来更新POM的<roo.version>,然后更新实体方面。在此之后,所有具有java.util.Date参数/返回类型的方法都不再工作,因为编译会在Date字段上产生symbol not found错误。

如何让Roo使用一种类型的Date而不是Calendar生成方面?

错误日志

代码语言:javascript
复制
[ERROR] /Users/jjzabkar/project/src/main/java/com/so/FooBar.java:209:0::0 The method setTokenExpires(Calendar) in the type FooBar is not applicable for the arguments (Date)  
[ERROR] error at account.setLastaccessTime(Calendar.getInstance().getTime());

研究

  • 检查并遵循项目的升级到任何新版本附录中的所有建议。
  • 一直未能找到或构建(来源) Roo版本1.2.2-没有bin\roo;从源构建失败。
  • 调查了添加各种时间戳字段的Roo插件,但是在项目log.roo文件中没有看到任何提及它们的地方:spring addon-审核-时间戳spring-roo-addon-时间戳,它们的注释也没有出现在最初签出的文件中。

旧POM

代码语言:javascript
复制
<roo.version>1.2.2.RELEASE</roo.version>

更新POM

代码语言:javascript
复制
<roo.version>1.2.4.RELEASE</roo.version>

FooBar.java实体

代码语言:javascript
复制
@RooJavaBean
@RooToString
@RooJpaActiveRecord(versionField = "", table = "foo_bar")
@RooDbManaged(automaticallyDelete = true)
public class FooBar {
}

Roo版本1.2.2的方面之前

代码语言:javascript
复制
privileged aspect FooBar_Roo_DbManaged {
    ...
    @Column(name = "lastaccess_time")
    @NotNull
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date FooBar.lastaccessTime;

    public Date FooBar.getLastaccessTime() {
        return lastaccessTime;
    }

    public void FooBar.setLastaccessTime(Date lastaccessTime) {
        this.lastaccessTime = lastaccessTime;
    }

}

Roo版本1.2.4的方面之后的

代码语言:javascript
复制
privileged aspect FooBar_Roo_DbManaged {
    ...
    @Column(name = "lastaccess_time")
    @NotNull
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "MM")
    private Calendar FooBar.lastaccessTime;

    public Calendar FooBar.getLastaccessTime() {
        return lastaccessTime;
    }

    public void FooBar.setLastaccessTime(Calendar lastaccessTime) {
        this.lastaccessTime = lastaccessTime;
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-23 07:44:09

在更新到Roo1.2.4之前,您应该将日期字段推入到.java,这样Roo不会再次生成它们,也不会将类型更改为Calendar。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20577063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档