当前位置: 首页 > 知识库问答 >
问题:

NetBeans 8.2-Weblogic-Ant构建

柳奇希
2023-03-14

当我试图用ant在Netbeans中构建我的企业项目时,我得到了这个例外:

警告:批注处理器“org.eclipse.persistence.internal.jpa.modelgen.canonicalModelProcessor”支持的源版本“release_6”小于源版本“1.8”注意:正在创建静态元数据工厂...

批注处理器引发未捕获的异常。有关详细信息,请参阅下面的堆栈跟踪。java.lang.ClassFormatError:类文件javax/persistence/persistenceException中不是本机或抽象的方法中缺少代码属性

我的ejb模块中只有一些entity类。

共有1个答案

林德惠
2023-03-14

此错误报告为NetBeans中的bug(已解决状态,因为它被认为是“用户错误”)。下面是解释问题并给出解决方案的主要评论:

“ClassFormatError:方法中缺少代码属性...”始终指示javaee-api-6.0.jar用于运行时执行。jar只包含方法签名(方法体被剥离),并且只适合于编译。在javac的未来版本中,可能会有更好的错误消息。

这里的问题是,javaee-api-6.0.jar在EclipseLink jar之前就在类路径上,并且当EclipseLink注释处理器启动时,使用的是javaee-api-6.0.jar中的类,而不是EclipseLink中的类。首先,应该从EJB项目的类路径中删除javaee-api-6.0.jar,因为EJB项目选择了一个应用服务器,并且项目从该服务器获取EE6API,所以不应该需要javaee-api-6.0.jar。

正如我所理解的注释,您应该尝试从项目的类路径中删除对javaee-api-6.0.jar(它只包含“dummy”类)的任何引用,因为EclipseLink库应该提供注释处理器使用的正确类。

此外,这个问题似乎也涉及同样的问题。

 类似资料:
  • 然而,这给了我以下错误: 无法使用classloader AntClassLoader[]找到taskdef类WebLogic.ant.TaskDefs.Management.WLDeploy 为了解决这个问题,我修改了我的taskdef,以包含weblogic jar的路径。然而,现在我收到了这个错误: 对此有什么好的解决办法?

  • 导入一个Ant构建 你可以在你的gradle项目中通过ant.importBuild()来导入一个ant构建,当你导入了一个ant构建,每一个ant target都会被视为一个Gradle任务.这意味着你可以像操作,执行gradle任务一样操作,执行ant target 例 16.8.导入ant构建 build.gradle ant.importBuild 'build.xml' build.xm

  • 16.1.使用 Ant 任务和 Ant 类型的构建 在构建脚本中, Ant 属性是由 Gradle提供的. 这是一个用于参考的 AntBuilder 实例. AntBuilder 用于从构建脚本访问 Ant 任务, 类型和属性. 下面的例子解释了从 Ant 的 build.xml 格式到 Grooy 的映射. 你可以通过调用 AntBuilder 实例的方法执行 Ant 任务. 你可以使用任务名称

  • 在构建中使用自定义Ant任务 为了让你的构建可以自定义任务, 你可以使用 taskdef(通常更容易) 或者 typedef Ant 任务, 就像你在一个build.xml文件中一样. 然后,你可以参考内置 Ant 任务去定制 Ant 任务. 例 16.5.使用自定义 Ant 任务 build.gradle task check << { ant.taskdef(resource: 'ch

  • 我正在将我们的构建从Ant转换为Gradle。我们的第一步是添加Gradle构建文件,这样我们就可以开始使用Gradle作为构建工具。这让我们可以使用现有的构建脚本使用Ant进行构建,并将其转换为随时间推移的渐变。我只想让Gradle调用现有的Ant构建文件。我们的项目都是NetBeans项目,都有build.xml和nbproject/build-implt.xml文件。有些项目需要NetBea

  • 问题内容: 我有一个目前正在转换为Maven的Ant构建。但是,Ant构建有2个构建目标-一个构建整个应用程序,一个从这些文件中的一些(仅少数)构建JAR。在Ant中,很容易有多个构建目标来处理此问题,但是我正在尝试确定在Maven中处理此问题的最佳方法。 我可以将文件的子集拆分到另一个项目中,它将拥有自己的POM。然后,第一个项目可能依赖于此项目。但是,由于文件的子集非常小(少于10个),因此为