2016-07-13 89 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作为参考。

感谢您的关注。 干杯。

相关问题