Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Quick Links to:

Table of Contents
minLevel3
Panel

When I deploy my application to the OC4J container, the deployment fails with the following error:

Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String(wink)

Panel

Anchor
My build fails whenever MyEclipse tries to deploy my application to my OC4J application server
My build fails whenever MyEclipse tries to deploy my application to my OC4J application server

My build fails whenever MyEclipse tries to deploy my application to my OC4J application server.

ANSWER:

  • Build for a project will fail in a MyEclipse environment if there are 2 maven natures/libraries in the .project and. classpath files.  Sometimes MyEclipse will automatically create or configure your .classpath and .project file when you check out a project.  If it adds 2 maven natures (org.maven.ide.eclipse and org.eclipse.m2e ) in your project, you will not be able to build your project.  The build will fail when it tries to deploy the application to the application server.  The logs in the server will shows an error indicating that it is unable to load the applicationContext as it cannot create the daoFoundation bean, sessionFactory bean, and so on as a result of a missing object: Student.

    To resolve the problem, remove one of the maven natures/libraries in the project configuration.  It can be done via deleting the maven nature from the Libraries in the Java Build Path of the project as shown in the panel below:



    Also, you can edit the .classpath and .project file manually.  You need to choose either one of the maven nature or classpath entry.  Using the org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER, the following are excerpts of the .classpath and .project files that are configured properly:

    1. For the .classpath file:
      Code Block
      <?xml version="1.0" encoding="UTF-8"?>
      <classpath>
       <classpathentry kind="src" output="target/classes" path="src/main/java"/>
       <classpathentry kind="src" output="target/classes" path="src/main/resources"/>
       <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
       <classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
       <classpathentry kind="con"  path="org.eclipse.jdt.launching.JRE_CONTAINER
           /org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
       <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
         <attributes>
           <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
         </attributes>
       </classpathentry>
       <classpathentry kind="output" path="target/classes"/>
      </classpath>
      
    2. for the .project file:
      Code Block
      <buildCommand>
         <name>org.eclipse.m2e.core.maven2Builder</name>
         <arguments>
         </arguments>
      </buildCommand>
      .
      .
      <natures>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
        .
        .
      </natures>
      

...