2016-07-13 10 views
0

JBoss 7.1.1에서 Wildfly 9.0.2로 응용 프로그램을 마이그레이션하려고하는데 몇 가지 문제가 있습니다.JBoss 7.1.1 + Java 6에서 Wildfly 9.0.2 + Java 8로 웹 응용 프로그램 마이그레이션

내가 만든 첫 번째 사항은 제공된 모든 종속성을 제거하고 JBoss 7.1.1이 제공 한 특정 버전을 덮어 씁니다. 그렇지 않으면 Wildfly 9의 새로운 버전을 모두 사용하게되어 더 많은 오류가 발생합니다.

한편, 컴파일 문제없이 JDK 버전을 6에서 8로 업데이트했습니다.

글쎄, 나는 Wildfly 9를 시작했고 프로젝트가 정상적으로 시작되었습니다. 응용 프로그램에 로그인하고 내 데이터베이스에서 내 자격 증명을 확인하고 문제없이 첫 번째 페이지를로드 할 수있었습니다. 그러나 모든 응용 프로그램을 테스트 한 결과, 아래에 설명 된 것처럼 많은 오류가 발생하기 시작했습니다.

업데이트 가이드를 찾고 Wildup 프로젝트에 대해 뭔가를 찾았지만 보고서를 완료하지 못했습니다. 성능은 끔찍하며 [340/379] MigrationRulesPhase - ValidateXmlFilesRuleProvider - ValidateXmlFilesRuleProvider_1에서 멈 춥니 다.

** UPDAT

  • 업데이트 : ** @의 MJN의 힌트에 따라, 나는 pom.xml 파일에서 모든 JBoss의 특정 종속성을 제거 거라고하고 프로젝트에 영향을 미치지 않았다. 그러나 여기에 인용 된 문제는 여전히 발생합니다.

ens. 이 libs없이 Pom.xml이 업데이트되었습니다.

아무도 도와 줄 수 있습니까? 관심을 가져 주셔서 감사합니다!

건배, 제공으로 설정 멘타

libs와 :

<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의 libs 제거하고 그들없이 POM을 업데이 트했습니다. 프로젝트가 작동하지만 문제는 여전히 발생합니다. 질문에 대한 대답은 다음과 같습니다. Java EE 6 API 만 사용할 수 있습니다. 힌트를 보내 주셔서 감사합니다. – Pmt

답변

0

해결책을 찾았습니다.

@mjn 힌트를 기반으로 pom.xml을 약간 청소했습니다. 이것이 해결책의 일부라고 생각하지 않지만 가능한 문제를 줄이는 데 도움이됩니다. 우선, JBoss에서 모든 특정 라이브러리를 제거했습니다. 질문에 노출 된 pom.xml이 이미 업데이트되었습니다.

그 후, 우리는 Wildfly를 구입하면 문제가 Weld의 새로운 구현과 관련이 있다는 것을 알아 냈습니다. 이에 따라 일부 종속성을 업데이트 한 다음 모든 것이 완벽하게 작동했습니다.

- 업데이트 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 파일을 살펴보십시오.

감사합니다. 건배.