【发布时间】:2011-03-11 12:10:39
【问题描述】:
虽然使用 Maven 和来自 apache 的 cxf-codegen-plugin,但它似乎为 Java ee 6 生成代码。我可以通过错误消息 ../generated-sources/cxf/.../cxf/gen/prod 来判断/IProd.java: 找不到符号 符号:类动作 位置:接口 ....IProd
动作只在jee6++中
如何强制它为 Javaee 5 生成?是否有任何标志 - 找不到任何标志。
计算机上的所有内容都设置为 Java 1.5,Java_Home 和 java -version 提供 1.5.. 我在编译路径上有 java EE 5 api。 maven中的插件设置为1.5。 还是……
编辑:已解决,请参阅 cmets。
【问题讨论】:
-
您也将 maven 编译器插件设置为 1.5?而且我想我会重命名 java 6 目录以确保它不能被 maven 找到。并在编译后重命名。此外,您使用什么版本的代码生成器,您可以发布 pom 文件的相关部分吗?
-
编译器为 1.5。我什至尝试从计算机中删除 java 6 jdk/jre,只有 1.5。相同的。使用 CXF 2.2.12。是否有一个 jaxws 依赖项可以做到这一点..
-
在浏览了我所有的依赖项后也找到了答案,但没有找到任何东西。在 cxf-plugin 的设置中(在您的 .m2 目录下)查看 cxf-parent.pom,您会看到 JAXB 版本被硬编码为 2.1 (JEE6)。我支持 cxf-codegen-plugin 2.0.10 版,这是我能找到的最后一个将 JAXB 硬编码为 2.0 版(JEE5)的版本。我真的认为应该有一个选项来选择是否要为 JEE5 或 JEE 6 生成而无需检查插件本身...