我正在尝试构建一个Spring Roo(1.2.2)项目。从干净的SCM结账,mvn clean install
很好地构建。
但是,当我将项目导入SpringSource Tool Suite IDE(与m2eclipse和Roo 1.2.4一起打包)时,Eclipse会调用roo
更新POM的<roo.version>
,然后更新实体方面。在此之后,具有java.util.Date
参数/返回类型的所有方法都不再有效,因为编译会在symbol not found
字段上产生Date
个错误。
如何让Roo生成类型为Date
而不是Calendar
的方面?
[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());
bin\roo
;从源代码构建失败。 log.roo
文件中没有看到它们的提及:spring-roo-addon-audit-timestamp,spring-roo-addon-timestamp,它们的注释也不存在在最初检出的文件上。<roo.version>1.2.2.RELEASE</roo.version>
<roo.version>1.2.4.RELEASE</roo.version>
FooBar.java
实体@RooJavaBean
@RooToString
@RooJpaActiveRecord(versionField = "", table = "foo_bar")
@RooDbManaged(automaticallyDelete = true)
public class FooBar {
}
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;
}
}
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;
}
}
答案 0 :(得分:1)
在更新到Roo 1.2.4之前,你应该将Date字段插入到.java中,因为Roo不会再次生成它们,也不会将类型更改为Calendar。