ClassFormatError: Absent Code attribute in method, die ist nicht native oder abstract in class file javax/Transaktion/SystemException

Ich versuche, Arquillian gegen weblogic 12C.

Lege ich die folgende Konfiguration in meinem pom.xml

<dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.0.0.CR7</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.protocol</groupId>
        <artifactId>arquillian-protocol-servlet</artifactId>
        <version>1.0.0.CR7</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
        <version>1.0.0-beta-5</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-wls-remote-12.1</artifactId>
        <version>1.0.0.Alpha2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>weblogic</groupId>
        <artifactId>wlfullclient</artifactId>
        <version>12.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-6.0</artifactId>
        <version>3.0.0.Final</version>
        <scope>test</scope>
    </dependency>

Dann konfigurierte ich die arquillian.xml Datei wie folgt :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://jboss.org.schema/arquillian"
            xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
    <container qualifier="weblogic" default="true">
        <configuration>
            <protocol type="Servlet 3.0">
                <property name="executionType">REMOTE</property>
            </protocol>
            <property name="adminUrl">t3://localhost:7001</property>
            <property name="adminUserName">weblogic</property>
            <property name="adminPassword">weblogic1</property>
            <property name="target">AdminServer</property>
            <property name="wlsHome">c:\java\servers\wls12c\wlserver</property>
        </configuration>
    </container>
</arquillian>

Schließlich habe ich versucht zu "erstellen" ein Archiv mit Arquillian :

 JavaArchive ejbArchive = ShrinkWrap.create(JavaArchive.class,"jee6app-ejb.jar").addAsResource("META-INF/persistence.xml","META-INF/persistence.xml").addPackages(false,Adr.class.getPackage(),Service.class.getPackage());
           EnterpriseArchive earArchive = ShrinkWrap.create(EnterpriseArchive.class, "jee6app.ear").addAsModule(ejbArchive).addAsLibraries(
                   new File("target/test-libs/validation-api.jar"),
                   new File("target/test-libs/hibernate-entitymanager.jar"),
                   new File("target/test-libs/hibernate-validator.jar"),
                   new File("target/test-libs/javassist.jar"),
                   new File("target/test-libs/asm.jar"),
                   new File("target/test-libs/cglib.jar"),
                   new File("target/test-libs/hibernate-jpa.jar"),
                   new File("target/test-libs/hibernate-commons-annotations.jar"),
                   new File("target/test-libs/hibernate-annotations.jar"),
                   new File("target/test-libs/slf4j-api.jar"),
                   new File("target/test-libs/jta.jar"),
                   new File("target/test-libs/dom4j.jar"),
                   new File("target/test-libs/commons-collections.jar"),
                   new File("target/test-libs/antlr.jar"),
                   new File("target/test-libs/hibernate-core.jar")
                   );

            return earArchive;

So, nachdem alle diese Dinge, ich habe immer die folgende Fehlermeldung :

Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/transaction/SystemException
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)

Was ist falsch an meiner Konfiguration? Wie Sie sehen können, bevor ich versuchte, fügen Sie dem Klassenpfad der wlfullclient Glas-und jboss-api-jar -

Dank im Voraus für Eure Hilfe

Hinsichtlich

Haben Sie versucht, mit Arquillian Core 1.0.3.Finale oder 1.0.1.Finale? CR7 ist sehr alt.
Ich habe versucht, in diesen Versionen, und ich habe das gleiche Verhalten
Können Sie sehen, wenn Sie ziehen in der Oracle veröffentlicht javaee-api Artefakt durch Zufall? mvn dependency:tree würde hier helfen. Sie müssen angeben, der Maven-profile, wenn Sie diejenigen, die eine Aktivierung nötig.
Ja, in der Tat ich benutze die javaee6-api Artefakt. Nach dem Auffinden alle rund um das web, sah ich, dass dieser Artefakt ist ok für builds, aber unbrauchbar für die Laufzeit wie arquillian tests oder einfache junit-tests.
Ja, Sie müssen ausschließen, dass ein Artefakt für Ihre tests.

InformationsquelleAutor Alexandre T | 2013-03-13

Schreibe einen Kommentar