【问题标题】:java.lang.ClassFormatError: JVMCFRE074 no Code attribute specified;class=javax/faces/webapp/FacesServlet, method=<init>()V, pc=0 [duplicate]java.lang.ClassFormatError:JVMCFRE074 未指定代码属性;class=javax/faces/webapp/FacesServlet,method=<init>()V,pc=0 [重复]
【发布时间】:2013-05-24 13:24:35
【问题描述】:

我正在使用 JSF 2.0 和 Primefaces 3.4.2、Hibernate 4 Final 和 Spring 3。

当我使用 Maven 3 将应用程序部署到 Weblogic 10.3.6 时,出现以下异常。我该如何解决这个问题?

任何帮助都是非常值得赞赏的。

Target state: deploy failed on Server mgdserver
java.lang.ClassFormatError: JVMCFRE074 no Code attribute specified; class=javax/faces/webapp/FacesServlet, method=<init>()V, pc=0
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBu
ilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBu
ilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter
.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

【问题讨论】:

  • 表示您的构建引用了其中没有实际代码的代码结构。 This article 给出了进一步的方向。最终,您需要安装正确的 JavaEE SDK
  • @kolossus 我正在部署到我们的 Weblogic Apps Server,它使用的是 IBM JDK 1.7。这会导致任何问题吗?
  • @kolossus 当我从 &lt;scope&gt;compile&lt;/scope&gt; 更改为 &lt;scope&gt;provided&lt;/scope&gt; 时,问题解决并出现了 this 问题。
  • @kolossus 如果我想使用 javee for 5 我应该下载哪个版本的 JavaEE SDK?
  • 谢谢,但我不能将&lt;compile/&gt; 指令修复归功于我。这就是你的全部:)

标签: jsf maven servlets jsf-2 weblogic11g


【解决方案1】:

我在尝试运行单元测试时遇到了同样的异常,我的解决方案是从依赖项中排除 javaee-api:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <classpathDependencyExcludes>
            <classpathDependencyExclude>javax:javaee-api</classpathDependencyExclude>
          </classpathDependencyExcludes>
        </configuration>
      </plugin>

【讨论】:

    【解决方案2】:

    与 JSF 不完全相关,但对我有用的是将 javax.javaee-api 依赖项移到容器实现依赖项之下。

    【讨论】:

    • 在 maven POM 中?我怀疑那是真正的解决方案。可能是改变这个强制 maven 重新加载的东西。但这就是问题中问题的答案很难理解或相信
    猜你喜欢
    • 1970-01-01
    • 2014-09-24
    • 2011-12-10
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多