Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Groovy 1.8、Hibernate JPA注释构建失败_Java_Hibernate_Jpa_Groovy - Fatal编程技术网

Java 使用Groovy 1.8、Hibernate JPA注释构建失败

Java 使用Groovy 1.8、Hibernate JPA注释构建失败,java,hibernate,jpa,groovy,Java,Hibernate,Jpa,Groovy,使用Groovy 1.8、Hibernate JPA注释构建失败 我一直在使用Groovy 1.7.0,由于JPA注释构建错误,无法升级到大量更新 我的代码是相当标准的JPA注释,在过去的groovy版本中运行良好。我希望能够升级到Groovy 1.8.0。如果有人看到并解决了这个问题,我将感谢你的帮助 它似乎无法在所有@manytomy注释的@JoinTable部分上编译 它失败并显示“注释值必须是注释”消息。我已经浏览了JPA javadocs,似乎没有遗漏任何必填字段。我的注释在过去的版本

使用Groovy 1.8、Hibernate JPA注释构建失败

我一直在使用Groovy 1.7.0,由于JPA注释构建错误,无法升级到大量更新

我的代码是相当标准的JPA注释,在过去的groovy版本中运行良好。我希望能够升级到Groovy 1.8.0。如果有人看到并解决了这个问题,我将感谢你的帮助

它似乎无法在所有@manytomy注释的@JoinTable部分上编译

它失败并显示“注释值必须是注释”消息。我已经浏览了JPA javadocs,似乎没有遗漏任何必填字段。我的注释在过去的版本中运行良好

另外,我正在使用甘特进行构建,我不排除这是一个可能的问题

下面是一个映射示例:

@ManyToMany(mappedBy='topics')
@JoinTable(name="screencast_topic",
 joinColumns=[@JoinColumn(name="topicId")],
 inverseJoinColumns=[@JoinColumn(name="screenCastId")])
@Sort(type=SortType.NATURAL)
编译输出:

[groovyc] Compiling 412 source files to /Users/ben/workspace/nofluff/build/webapps/ROOT/WEB-INF/classes
 [groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
 [groovyc] Abnormal termination of javac.
 [groovyc] /var/folders/rs/rsmW8feBHJyH6EPl+V3XME+++TI/-Tmp-/groovy-generated-1581380806855929206-java-source/nfjs/model/Topic.java:84: <b>annotation value must be an annotation</b>
 [groovyc] @org.apache.struts2.json.annotations.JSON(serialize=false) @javax.persistence.ManyToMany(mappedBy="topics") @javax.persistence.JoinTable(inverseJoinColumns={"org.codehaus.groovy.ast.AnnotationNode@7997f538"}, name="screencast_topic", joinColumns={"org.codehaus.groovy.ast.AnnotationNode@67646de5"}) @org.hibernate.annotations.Sort(type=org.hibernate.annotations.SortType.NATURAL) public  java.util.SortedSet<nfjs.model.screencast.Screencast> getScreencasts() { return (java.util.SortedSet<nfjs.model.screencast.Screencast>)null;}
[groovyc]将412个源文件编译到/Users/ben/workspace/nofluff/build/webapps/ROOT/WEB-INF/classes
[groovyc]org.codehaus.groovy.control.multipleComplationErrorsException:启动失败:
[groovyc]javac异常终止。
[groovyc]/var/folders/rs/rsmW8feBHJyH6EPl+V3XME+++TI/-Tmp-/groovy-generated-15813806855929206-java-source/nfjs/model/Topic.java:84:注释值必须是注释
[groovyc]@org.apache.struts2.json.annotations.json(serialize=false)@javax.persistence.manytomy(mappedBy=“topics”)@javax.persistence.JoinTable(inverseJoinColumns={”org.codehaus.groovy.ast。AnnotationNode@7997f538“},name=“screencast_topic”,joinColumns={”org.codehaus.groovy.ast。AnnotationNode@67646de5“})@org.hibernate.annotations.Sort(type=org.hibernate.annotations.SortType.NATURAL)public java.util.SortedSet getScreencasts(){return(java.util.SortedSet)null;}

groovy开发人员知道这个问题(http://jira.codehaus.org/browse/GROOVY-4768).
看起来下一个版本的修复程序已经准备就绪。当前的解决方法是制作自己的Groovy版本并进行测试。

Andres..我很高兴你在UberConf。很高兴能就此进行更多的讨论和了解。问题的摘要是,联合编译(编译Groovy和java源代码)存在问题。改用所有的groovy解决了这个问题。幸运的是,我几乎没有剩余的Java源代码,可以轻松地将其转换为groovy。我认为这是一个大问题,因为它使现有Java项目的团队很难转换为groovy。这可能对groovy的采用不利。