0 Replies Latest reply on Jun 5, 2012 6:56 AM by Eric K.

    JBoss 7.1.1 - "Encountered invalid class name"-Warning while using XStream

    Eric K. Newbie

      Hi everyone,

      I used the "org.jboss.spec.archetypes","jboss-javaee6-webapp-blank-archtype", Version: 7.1.1.Beta2 Archetype to create a WebApplication on JBoss 7.1.1 Final and Primefaces 3.3. The Project runs fine, but there's a warning message on each deploy:

       

       

      12:44:09,814 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015893: Encountered invalid class name 'org.xmlpull.mxp1.MXParser,org.xmlpull.mxp1_serializer.MXSerializer' for service type 'org.xmlpull.v1.XmlPullParserFactory'
      

       

      If I remove the XStream Dependency the Warning disappears. I allready tried different XStream Versions (1.4.2, 1.3, 1.2). Can anyone guess how to get rid of this warning? Thanks

       

       

      <?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/maven-v4_0_0.xsd">
          <modelVersion>4.0.0</modelVersion>
      
          <groupId>...</groupId>
          <artifactId>...</artifactId>
          <version>0.0.1-SNAPSHOT</version>
          <packaging>war</packaging>
          <name>...</name>
      
          <properties>
              <!-- Explicitly declaring the source encoding eliminates the following 
                  message: -->
              <!-- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered 
                  resources, i.e. build is platform dependent! -->
              <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
              <!-- Define the version of JBoss' Java EE 6 APIs and Tools we want 
                  to import. -->
              <jboss.bom.version>1.0.0.M7</jboss.bom.version>
              <!-- Alternatively, comment out the above line, and un-comment the 
                  line below to use version 1.0.0.M7-redhat-1 which is a release certified 
                  to work with JBoss EAP 6. It requires you have access to the JBoss EAP 6 
                  maven repository. -->
              <!-- <jboss.bom.version>1.0.0.M7-redhat-1</jboss.bom.version>> -->
          </properties>
      
      
          <dependencyManagement>
              <dependencies>
                  <!-- JBoss distributes a complete set of Java EE 6 APIs including 
                      a Bill of Materials (BOM). A BOM specifies the versions of a "stack" (or 
                      a collection) of artifacts. We use this here so that we always get the correct 
                      versions of artifacts. Here we use the jboss-javaee-6.0-with-tools stack 
                      (you can read this as the JBoss stack of the Java EE 6 APIs, with some extras 
                      tools for your project, such as Arquillian for testing) and the jboss-javaee-6.0-with-hibernate 
                      stack you can read this as the JBoss stack of the Java EE 6 APIs, with extras 
                      from the Hibernate family of projects) -->
                  <dependency>
                      <groupId>org.jboss.bom</groupId>
                      <artifactId>jboss-javaee-6.0-with-tools</artifactId>
                      <version>${jboss.bom.version}</version>
                      <type>pom</type>
                      <scope>import</scope>
                  </dependency>
                  <dependency>
                      <groupId>org.jboss.bom</groupId>
                      <artifactId>jboss-javaee-6.0-with-hibernate</artifactId>
                      <version>${jboss.bom.version}</version>
                      <type>pom</type>
                      <scope>import</scope>
                  </dependency>
              </dependencies>
          </dependencyManagement>
          
          <dependencies>
      
              <!-- First declare the APIs we depend on and need for compilation. 
                  All of them are provided by JBoss AS 7 -->
      
              <!-- Import the CDI API, we use provided scope as the API is included 
                  in JBoss AS 7 -->
              <dependency>
                  <groupId>javax.enterprise</groupId>
                  <artifactId>cdi-api</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Import the Common Annotations API (JSR-250), we use provided 
                  scope as the API is included in JBoss AS 7 -->
              <dependency>
                  <groupId>org.jboss.spec.javax.annotation</groupId>
                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Import the JAX-RS API, we use provided scope as the API is included 
                  in JBoss AS 7 -->
              <dependency>
                  <groupId>org.jboss.spec.javax.ws.rs</groupId>
                  <artifactId>jboss-jaxrs-api_1.1_spec</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Import the JPA API, we use provided scope as the API is included 
                  in JBoss AS 7 -->
              <dependency>
                  <groupId>org.hibernate.javax.persistence</groupId>
                  <artifactId>hibernate-jpa-2.0-api</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Import the EJB API, we use provided scope as the API is included 
                  in JBoss AS 7 -->
              <dependency>
                  <groupId>org.jboss.spec.javax.ejb</groupId>
                  <artifactId>jboss-ejb-api_3.1_spec</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- JSR-303 (Bean Validation) Implementation -->
              <!-- Provides portable constraints such as @Email -->
              <!-- Hibernate Validator is shipped in JBoss AS 7 -->
              <dependency>
                  <groupId>org.hibernate</groupId>
                  <artifactId>hibernate-validator</artifactId>
                  <scope>provided</scope>
                  <exclusions>
                      <exclusion>
                          <groupId>org.slf4j</groupId>
                          <artifactId>slf4j-api</artifactId>
                      </exclusion>
                  </exclusions>
              </dependency>
      
              <!-- Import the JSF API, we use provided scope as the API is included 
                  in JBoss AS 7 -->
              <dependency>
                  <groupId>org.jboss.spec.javax.faces</groupId>
                  <artifactId>jboss-jsf-api_2.1_spec</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Now we declare any tools needed -->
      
              <!-- Annotation processor to generate the JPA 2.0 metamodel classes 
                  for typesafe criteria queries -->
              <dependency>
                  <groupId>org.hibernate</groupId>
                  <artifactId>hibernate-jpamodelgen</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Annotation processor that raising compilation errors whenever 
                  constraint annotations are incorrectly used. -->
              <dependency>
                  <groupId>org.hibernate</groupId>
                  <artifactId>hibernate-validator-annotation-processor</artifactId>
                  <scope>provided</scope>
              </dependency>
      
              <!-- Needed for running tests (you may also use TestNG) -->
              <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <scope>test</scope>
              </dependency>
      
              <!-- Optional, but highly recommended -->
              <!-- Arquillian allows you to test enterprise code such as EJBs and 
                  Transactional(JTA) JPA from JUnit/TestNG -->
              <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.primefaces</groupId>
                  <artifactId>primefaces</artifactId>
                  <version>3.3</version>
              </dependency>
              <dependency>
                  <groupId>org.primefaces.themes</groupId>
                  <artifactId>home</artifactId>
                  <version>1.0.2</version>
              </dependency>
              <dependency>
                  <groupId>commons-fileupload</groupId>
                  <artifactId>commons-fileupload</artifactId>
                  <version>1.2.2</version>
              </dependency>
              <dependency>
                  <groupId>commons-io</groupId>
                  <artifactId>commons-io</artifactId>
                  <version>2.1</version>
              </dependency>
              <dependency>
                  <groupId>axis</groupId>
                  <artifactId>axis</artifactId>
                  <version>1.4</version>
              </dependency>
              <dependency>
                  <groupId>net.sourceforge.jexcelapi</groupId>
                  <artifactId>jxl</artifactId>
                  <version>2.6.12</version>
              </dependency>
              <dependency>
                  <groupId>org.apache.poi</groupId>
                  <artifactId>poi</artifactId>
                  <version>3.8</version>
              </dependency>
              <dependency>
                  <groupId>org.apache.poi</groupId>
                  <artifactId>poi-ooxml</artifactId>
                  <version>3.8</version>
              </dependency>
              <dependency>
                  <groupId>com.thoughtworks.xstream</groupId>
                  <artifactId>xstream</artifactId>
                  <version>1.3.1</version>
              </dependency>
          </dependencies>
      
          <build>
              <!-- Maven will append the version to the finalName (which is the 
                  name given to the generated war, and hence the context root) -->
              <finalName>${project.artifactId}</finalName>
              <plugins>
                  <!-- Compiler plugin enforces Java 1.6 compatibility and activates 
                      annotation processors -->
                  <plugin>
                      <artifactId>maven-compiler-plugin</artifactId>
                      <version>2.3.1</version>
                      <configuration>
                          <source>1.6</source>
                          <target>1.6</target>
                      </configuration>
                  </plugin>
                  <plugin>
                      <artifactId>maven-war-plugin</artifactId>
                      <version>2.1.1</version>
                      <configuration>
                          <!-- Java EE 6 doesn't require web.xml, Maven needs to 
                              catch up! -->
                          <failOnMissingWebXml>false</failOnMissingWebXml>
                      </configuration>
                  </plugin>
                  <!-- The JBoss AS plugin deploys your war to a local JBoss AS 
                      container -->
                  <!-- To use, run: mvn package jboss-as:deploy -->
                  <plugin>
                      <groupId>org.jboss.as.plugins</groupId>
                      <artifactId>jboss-as-maven-plugin</artifactId>
                      <version>7.1.1.Final</version>
                  </plugin>
              </plugins>
          </build>
      
          <profiles>
              <profile>
                  <!-- The default profile skips all tests, though you can tune 
                      it to run just unit tests based on a custom pattern -->
                  <!-- Seperate profiles are provided for running all tests, including 
                      Arquillian tests that execute in the specified container -->
                  <id>default</id>
                  <activation>
                      <activeByDefault>true</activeByDefault>
                  </activation>
                  <build>
                      <plugins>
                          <plugin>
                              <artifactId>maven-surefire-plugin</artifactId>
                              <version>2.4.3</version>
                              <configuration>
                                  <skip>true</skip>
                              </configuration>
                          </plugin>
                      </plugins>
                  </build>
              </profile>
      
              <profile>
                  <!-- An optional Arquillian testing profile that executes tests 
                      in your JBoss AS instance -->
                  <!-- This profile will start a new JBoss AS instance, and execute 
                      the test, shutting it down when done -->
                  <!-- Run with: mvn clean test -Parq-jbossas-managed -->
                  <id>arq-jbossas-managed</id>
                  <dependencies>
                      <dependency>
                          <groupId>org.jboss.as</groupId>
                          <artifactId>jboss-as-arquillian-container-managed</artifactId>
                          <scope>test</scope>
                      </dependency>
                  </dependencies>
              </profile>
      
              <profile>
                  <!-- An optional Arquillian testing profile that executes tests 
                      in a remote JBoss AS instance -->
                  <!-- Run with: mvn clean test -Parq-jbossas-remote -->
                  <id>arq-jbossas-remote</id>
                  <dependencies>
                      <dependency>
                          <groupId>org.jboss.as</groupId>
                          <artifactId>jboss-as-arquillian-container-remote</artifactId>
                          <scope>test</scope>
                      </dependency>
                  </dependencies>
              </profile>
      
              <profile>
                  <!-- When built in OpenShift the 'openshift' profile will be 
                      used when invoking mvn. -->
                  <!-- Use this profile for any OpenShift specific customization 
                      your app will need. -->
                  <!-- By default that is to put the resulting archive into the 
                      'deployments' folder. -->
                  <!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->
                  <id>openshift</id>
                  <build>
                      <plugins>
                          <plugin>
                              <artifactId>maven-war-plugin</artifactId>
                              <version>2.1.1</version>
                              <configuration>
                                  <outputDirectory>deployments</outputDirectory>
                                  <warName>ROOT</warName>
                              </configuration>
                          </plugin>
                      </plugins>
                  </build>
              </profile>
          </profiles>
          
          <!-- Repository for PrimeFaces -->
          <repositories>
              <repository>
                  <id>prime-repo</id>
                  <name>PrimeFaces Maven Repository</name>
                  <url>http://repository.primefaces.org</url>
                  <layout>default</layout>
              </repository>
          </repositories>
          
         ...
      </project>