1

Arquillian入門ガイドを読み進めようとしています。arquillian-weld-ee-embeddedコンテナーを使用している限り、すべてが正常に機能します。ただし、Glassfish管理に切り替えようとすると、次のエラーが発生します。

Tests in error: org.arquillian.example.GreeterTest: Absent Code attribute in method that is not native or abstract in class file javax/mail/MessagingException

リファレンスガイドに示されている構成を使用しました。

これが私のpom.xmlです:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.arquillian.example</groupId>
<artifactId>arquillian-tutorial</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>arquillian-tutorial</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>1.0.2.Final</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<profiles>
    <profile>
        <id>arquillian-weld-ee-embedded</id>
        <dependencies>
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-6.0</artifactId>
                <version>1.0.0.Final</version>
                <type>pom</type>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-weld-ee-embedded-1.1</artifactId>
                <version>1.0.0.CR3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-core</artifactId>
                <version>1.1.5.Final</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>1.6.4</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </profile>
    <profile>
        <id>arquillian-glassfish-embedded</id>
        <dependencies>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-glassfish-embedded-3.1</artifactId>
                <version>1.0.0.CR3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish.main.extras</groupId>
                <artifactId>glassfish-embedded-all</artifactId>
                <version>3.1.2</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </profile>
    <profile>
        <id>glassfish-managed-3.1</id>
        <dependencies>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-glassfish-managed-3.1</artifactId>
                <version>1.0.0.CR3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>6.0</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <build>
            <testResources>
                <testResource>
                    <directory>src/test/resources</directory>
                </testResource>
                <testResource>
                    <directory>src/test/resources-glassfish-managed</directory>
                </testResource>
            </testResources>
        </build>
    </profile>
</profiles>

そして私のsrc/test / resources / arquillian.xml:

<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
    http://jboss.org/schema/arquillian
    http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<container qualifier="glassfish" default="true">
    <configuration>
        <property name="glassFishHome">/opt/app/glassfish-3.1.2.2</property>
    </configuration>
</container>

クラスGreeter、PhraseBuilder、GreeterTestは、前述のガイドと同じです。

編集:これがSurefireのレポートです:

    テストの実行:1、失敗:0、エラー:1、スキップ:0、経過時間:0.255秒(EventTestRunnerAdaptor.java:56)
    ...21もっと
原因:java.lang.IllegalArgumentException:DeployableContainerを指定する必要があります
    org.jboss.arquillian.core.spi.Validate.notNull(Validate.java:44)で
    org.jboss.arquillian.container.impl.ContainerImpl。(ContainerImpl.java:71)で
    org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:76)で
    ...45以上
原因:java.lang.reflect.InvocationTargetException
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)で
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)で
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)で
    java.lang.reflect.Constructor.newInstance(Constructor.java:525)で
    org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:156)で
    ...さらに16
原因:org.jboss.arquillian.container.impl.ContainerCreationException:コンテナGlassfishを作成できませんでした
    org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:85)で
    org.jboss.arquillian.container.impl.client.container.ContainerRegistryCreator.createRegistry(ContainerRegistryCreator.java:76)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で
    java.lang.reflect.Method.invoke(Method.java:601)で
    org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)で
    org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)で
    org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)で
    org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)で
    org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)で
    org.jboss.arquillian.core.impl.ManagerImpl.bindAndFire(ManagerImpl.java:236)で
    org.jboss.arquillian.core.impl.InstanceImpl.set(InstanceImpl.java:74)で
    org.jboss.arquillian.config.impl.extension.ConfigurationRegistrar.loadConfiguration(ConfigurationRegistrar.java:68)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で
    java.lang.reflect.Method.invoke(Method.java:601)で
    org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)で
    org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)で
    org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)で
    org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)で
    org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)で
    org.jboss.arquillian.core.impl.ManagerImpl.start(ManagerImpl.java:261)で
    org.jboss.arquillian.test.impl.EventTestRunnerAdaptorで。(EventTestRunnerAdaptor.java:56)
    ...21もっと
原因:java.lang.IllegalArgumentException:DeployableContainerを指定する必要があります
    org.jboss.arquillian.core.spi.Validate.notNull(Validate.java:44)で
    org.jboss.arquillian.container.impl.ContainerImpl。(ContainerImpl.java:71)で
    org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:76)で
    ...45以上
4

1 に答える 1

2

https://community.jboss.org/wiki/WhatsTheCauseOfThisExceptionJavalangClassFormatErrorAbsentCode

于 2012-09-18T10:11:43.887 に答える