2014-03-14 56 views
1

我能夠調試jboss-eap 6.2,但我必須啓動和停止服務器。 在蝕開普勒SR2(與JBosstools)當我在調試模式下啓動JUnit測試它凍結表示控制檯:在託管模式下調試時,Eclipse不會啓動/停止jboss eap

mars 14, 2014 8:45:15 AM org.jboss.as.arquillian.container.managed.ManagedDeployableContainer startInternal 
INFO: Starting container with: ["C:\Program Files\Java\jdk1.7.0_25\bin\java", -Xdebug, -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=y, -ea, -Djboss.home.dir=C:\_server\jboss-eap-6.2, -Dorg.jboss.boot.log.file=C:\_server\jboss-eap-6.2\standalone\log\boot.log, -Dlogging.configuration=file:/C:/_server/jboss-eap-6.2/standalone/configuration/logging.properties, -Djboss.bundles.dir=C:\_server\jboss-eap-6.2\bundles, -jar, C:\_server\jboss-eap-6.2\jboss-modules.jar, -mp, C:\_server\jboss-eap-6.2\modules, -jaxpmodule, javax.xml.jaxp-provider, org.jboss.as.standalone, -server-config, standalone.xml] 
Listening for transport dt_socket at address: 8787 

然後,如果我下Eclispe的啓動JBoss-EAP中,測試運行確定啓用斷點。 在最後的服務器不停止,我不得不手動停止它

我做錯了什麼?

這裏是我的Aquillian配置(Windows7的上工作):

<container qualifier="jboss" default="true"> 
     <configuration> 
      <property name="jbossHome">C:\_server\jboss-eap-6.2</property> 
      <property name="javaVmArguments">-Xdebug -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=y</property> 
      <property name="javaHome">C:\Program Files\Java\jdk1.7.0_25</property> 
     </configuration> 
    </container> 

這裏的pom.xml和paretn POM

<project> 
<modelVersion>4.0.0</modelVersion> 
<parent> 
    <artifactId>ee6-parent-root</artifactId> 
    <groupId>sopra.academy.jee6</groupId> 
    <version>0.0.1-SNAPSHOT</version> 
</parent> 
<artifactId>ee6-parent-ejb-junit</artifactId> 
<packaging>pom</packaging> 

<repositories> 
    <repository> 
     <id>thirdparty-releases</id> 
     <name>JBoss Thirdparty Releases</name> 
     <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases</url> 
    </repository> 
</repositories> 


<dependencies> 
    <dependency> 
     <groupId>org.jboss.spec.javax.ejb</groupId> 
     <artifactId>jboss-ejb-api_3.1_spec</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.enterprise</groupId> 
     <artifactId>cdi-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.0-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.junit</groupId> 
     <artifactId>arquillian-junit-container</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.protocol</groupId> 
     <artifactId>arquillian-protocol-servlet</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.3-1100-jdbc4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.as</groupId> 
     <artifactId>jboss-as-arquillian-container-managed</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <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>apache-xalan</groupId> 
     <artifactId>serializer</artifactId> 
     <version>j_2.7.0</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

</project> 

和父POM後

<project > 

<modelVersion>4.0.0</modelVersion> 

<artifactId>ee6-parent-root</artifactId> 
<groupId>sopra.academy.jee6</groupId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>pom</packaging> 


<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <version.jboss.maven.plugin>7.5.Final</version.jboss.maven.plugin> 
    <version.jboss.bom>1.0.7.Final</version.jboss.bom> 
    <version.jboss.as>7.2.0.Final</version.jboss.as> 
    <version.ear.plugin>2.6</version.ear.plugin> 
    <version.ejb.plugin>2.3</version.ejb.plugin> 
    <version.surefire.plugin>2.10</version.surefire.plugin> 
    <version.war.plugin>2.1.1</version.war.plugin> 
    <maven.compiler.target>1.6</maven.compiler.target> 
    <maven.compiler.source>1.6</maven.compiler.source> 
</properties> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>org.jboss.bom</groupId> 
      <artifactId>jboss-javaee-6.0-with-tools</artifactId> 
      <version>${version.jboss.bom}</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.bom</groupId> 
      <artifactId>jboss-javaee-6.0-with-hibernate</artifactId> 
      <version>${version.jboss.bom}</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.jboss.as.plugins</groupId> 
       <artifactId>jboss-as-maven-plugin</artifactId> 
       <version>${version.jboss.maven.plugin}</version> 
       <inherited>true</inherited> 
       <configuration> 
        <skip>true</skip> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-ejb-plugin</artifactId> 
       <version>${version.ejb.plugin}</version> 
       <configuration> 
        <!-- Tell Maven we are using EJB 3.1 --> 
        <ejbVersion>3.1</ejbVersion> 
        <generateClient>true</generateClient> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
</project> 

回答

5

當您以調試模式運行JUnit時,您正在有效地調試Arquillian的客戶端代碼。請記住,Arquillian在一個單獨的JVM中啓動容器(JBoss),因此要調試它,您需要使用Eclipse的遠程Java應用程序調試工具附加它。

arquillian.xml看起來不錯,所以這裏是你必須做的:

轉到調試配置,然後創建遠程Java應用程序配置,選擇合適的項目,選擇標準(套接字連接)連接類型和使用端口(您在arquillian.xml中指定的端口)。

現在以調試模式啓動您的測試,當您看到JBoss爲Listening for transport dt_socket at address: 8787時,請使用您之前創建的啓動配置附加到它。

希望這會有所幫助。

相關問題