2016-07-13 90 views
0

我試圖將應用程序從JBoss 7.1.1遷移到Wildfly 9.0.2,但我遇到了一些問題。將Web應用程序從JBoss 7.1.1 + Java 6遷移到Wildfly 9.0.2 + Java 8

我做的第一件事是刪除所有PROVIDED依賴關係,並將它們覆蓋爲JBoss 7.1.1提供給我的特定版本。否則,我會使用Wildfly 9的所有新版本,導致更多錯誤。

同時,我還將JDK版本從6更新爲8,沒有任何編譯問題。

那麼,我會開始Wildfly 9並且項目正常開始。我能夠登錄該應用程序,在我的數據庫中檢查我的憑據並加載第一頁時沒有任何問題。 但是測試所有的應用程序,我開始面對很多錯誤,如下所述。

尋找更新指南,我找到了關於Wildup項目的一些信息,但我無法完成報告。性能很糟糕,它凍結在[340/379] MigrationRulesPhase - ValidateXmlFilesRuleProvider - ValidateXmlFilesRuleProvider_1

** UPDAT

  • 更新:**在@ MJN的提示,我會刪除從pom.xml中所有的JBoss具體 的依賴,並沒有影響到項目。但這裏引用的 問題仍然很有用

ens。沒有這個庫更新Pom.xml。

有人可以幫我嗎? 感謝您的關注!

乾杯, 玉桂

利布斯已設置所提供:

<groupId>org.jboss.spec.javax.el</groupId> 
<artifactId>jboss-el-api_2.2_spec</artifactId> 

<groupId>org.jboss.spec.javax.faces</groupId> 
<artifactId>jboss-jsf-api_2.1_spec</artifactId> 

<groupId>org.jboss.spec.javax.ejb</groupId> 
<artifactId>jboss-ejb-api_3.1_spec</artifactId> 

<groupId>org.hibernate.javax.persistence</groupId> 
<artifactId>hibernate-jpa-2.0-api</artifactId> 

<groupId>org.jboss.spec.javax.annotation</groupId> 
<artifactId>jboss-annotations-api_1.1_spec</artifactId> 

<groupId>javax.mail</groupId> 
<artifactId>mail</artifactId> 

<groupId>javax.enterprise</groupId> 
<artifactId>cdi-api</artifactId> 

錯誤:

2016-07-13 10:36:29 DEBUG component:402 - /pages/layout/rodape.xhtml @20,69 <h:outputLabel> Component[-494748661_63d08f28] Created: javax.faces.component.html.HtmlOutputLabel 
2016-07-13 10:36:29 ERROR cad:81 - 
2016-07-13 10:36:29 ERROR context:218 - java.lang.StackOverflowError 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.SerializableValidatorFactory.getValidatorFactory(SerializableValidatorFactory.java:104) 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.InvalidValueAwareValidatorFactory.usingContext(InvalidValueAwareValidatorFactory.java:41) 
    at org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:93) 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.InvalidValueAwareValidatorFactory.usingContext(InvalidValueAwareValidatorFactory.java:41) 
    at org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:93) 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.InvalidValueAwareValidatorFactory.usingContext(InvalidValueAwareValidatorFactory.java:41) 
    at org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:93) 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.InvalidValueAwareValidatorFactory.usingContext(InvalidValueAwareValidatorFactory.java:41) 
    at org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:93) 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.InvalidValueAwareValidatorFactory.usingContext(InvalidValueAwareValidatorFactory.java:41) 
    at org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:93) 
    at org.apache.myfaces.extensions.cdi.jsf.impl.bv.resolver.InvalidValueAwareValidatorFactory.usingContext(InvalidValueAwareValidatorFactory.java:41) 
    at org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:93) 

POM:

<?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>br.pmt</groupId> 
    <artifactId>cad</artifactId> 
    <version>1.0</version> 
    <packaging>war</packaging> 
    <name>Cad</name> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <jboss.as.plugin.version>7.3.Final</jboss.as.plugin.version> 
     <jboss.bom.version>1.0.4.Final</jboss.bom.version> 
     <compiler.plugin.version>2.3.2</compiler.plugin.version> 
     <surefire.plugin.version>2.4.3</surefire.plugin.version> 
     <war.plugin.version>2.1.1</war.plugin.version> 
     <maven.compiler.target>1.6</maven.compiler.target> 
     <maven.compiler.source>1.6</maven.compiler.source> 
     <codi.version>1.0.3</codi.version> 
     <pmt.context.root>/cad</pmt.context.root> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.picketlink</groupId> 
      <artifactId>picketlink</artifactId> 
      <version>2.7.0.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>ch.ethz.ganymed</groupId> 
      <artifactId>ganymed-ssh2</artifactId> 
      <version>262</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jaxb-api</artifactId> 
      <version>2.2.12</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.xml.ws</groupId> 
      <artifactId>jaxws-api</artifactId> 
      <version>2.2.11</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.enterprise</groupId> 
      <artifactId>cdi-api</artifactId> 
      <version>1.0-SP4</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4.4</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-fileupload</groupId> 
      <artifactId>commons-fileupload</artifactId> 
      <version>1.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-io</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>1.4</version> 
     </dependency> 

     <dependency> 
      <groupId>portlet-api</groupId> 
      <artifactId>portlet-api</artifactId> 
      <version>1.0</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.0-api</artifactId> 
      <version>1.0.1.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.3.5.Final</version><!--$NO-MVN-MAN-VER$ --> 
      <exclusions> 
       <exclusion> 
        <groupId>antlr</groupId> 
        <artifactId>antlr</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <dependency> 
      <groupId>org.primefaces</groupId> 
      <artifactId>primefaces</artifactId> 
      <version>5.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.primefaces.extensions</groupId> 
      <artifactId>primefaces-extensions</artifactId> 
      <version>3.1.0</version> 
     </dependency> 

     <dependency> 
      <groupId>org.primefaces.themes</groupId> 
      <artifactId>all-themes</artifactId> 
      <version>1.0.10</version> 
     </dependency> 

     <dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time</artifactId> 
      <version>2.2</version> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>org.jadira.usertype</groupId> 
      <artifactId>usertype.core</artifactId> 
      <version>3.1.0.CR1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.myfaces.extensions.cdi.core</groupId> 
      <artifactId>myfaces-extcdi-core-api</artifactId> 
      <version>${codi.version}</version> 
      <scope>compile</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.myfaces.extensions.cdi.core</groupId> 
      <artifactId>myfaces-extcdi-core-impl</artifactId> 
      <version>${codi.version}</version> 
      <scope>runtime</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.myfaces.extensions.cdi.modules</groupId> 
      <artifactId>myfaces-extcdi-jsf20-module-api</artifactId> 
      <version>${codi.version}</version> 
      <scope>compile</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.myfaces.extensions.cdi.modules</groupId> 
      <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId> 
      <version>${codi.version}</version> 
      <scope>runtime</scope> 
     </dependency> 

    </dependencies> 

    <build> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
     </resources> 

     <finalName>${pmt.context.root}</finalName> 

     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${compiler.plugin.version}</version> 
       <configuration> 
        <source>${maven.compiler.source}</source> 
        <target>${maven.compiler.target}</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>${war.plugin.version}</version> 
       <configuration> 
        <warName>${pmt.context.root}</warName> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 

        <webResources> 
         <resource> 
          <filtering>true</filtering> 
          <directory>src/main/webapp</directory> 
          <includes> 
           <include>**/*.xml</include> 
          </includes> 
         </resource> 
        </webResources> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.jboss.as.plugins</groupId> 
       <artifactId>jboss-as-maven-plugin</artifactId> 
       <version>${jboss.as.plugin.version}</version> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>sonar-maven-plugin</artifactId> 
       <version>2.3</version> 
      </plugin> 

     </plugins> 
    </build> 


    <profiles> 

     <profile> 
      <id>sonar</id> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
      <properties> 
       <sonar.jdbc.url>xxxxxx</sonar.jdbc.url> 
       <sonar.jdbc.username>xxxxx</sonar.jdbc.username> 
       <sonar.jdbc.password>xxxxxxx</sonar.jdbc.password> 
       <sonar.host.url>xxxxxxxx</sonar.host.url> 
      </properties> 
     </profile> 
    </profiles> 

</project> 
+0

您是否在代碼中使用了JBoss特定的類?或者你可以在POM中使用普通的Java EE 6 API嗎? – mjn

+0

@mjn好點。我只是刪除了所有的JBoss庫,並沒有它們更新了POM。它正在工作的項目,但問題仍然存在。 所以你的問題的答案是:我只能使用Java EE 6 API。 感謝您的提示。 – Pmt

回答

0

我找到了解決方案。

基於@mjn提示,我清理了一下我的pom.xml。我不認爲這是解決方案的一部分,但它有助於減少可能出現的問題。因此,首先,我從JBoss中刪除了所有特定的庫。問題中暴露的pom.xml已被更新。

之後,我們發現問題與Weld的新實現有關,只要購買Wildfly即可。 在此基礎上,我們更新了一些依賴關係,然後一切正常。

- 更新CDI-API:

<dependency> 
    <groupId>javax.enterprise</groupId> 
    <artifactId>cdi-api</artifactId> 
    <version>2.0-EDR1</version> 
</dependency> 

- 更新codi.version:

<codi.version>1.0.6</codi.version> 

看看我的pom.xml作爲參考。

感謝您的關注。 乾杯。

相關問題