3 Replies Latest reply on Aug 31, 2011 8:27 AM by Hauke Gulich

    JBoss 7 with Richfaces and Maven

    Hauke Gulich Newbie

      Hello everyone,

       

      I am kind of new to richfaces, jboss and maven. I know what's all about and I tried a couple of weeks already to get everything working without and luck. Some parts are working but most of the things aren't good solved. I used to work with Jboss 4.2.3 and Richfaces 4 and JSF 2.0.6 but I always get strange errors.

       

      So I looked around and found a link to

       

      How to add RichFaces 4.X to Maven based projects

       

      I read the whole article (but it's almost one year old) and tried to access

       

      https://svn.jboss.org/repos/richfaces/trunk/examples/

       

      after some google action I found out that I have to use this link instead because I don't have permission / login to subversion.

       

      http://anonsvn.jboss.org/repos/richfaces/trunk/examples/core-demo

       

      I checked that out (with eclipse indigo and the maven plugin Version 1.0.0.20110607-2117) and imported that with "existing maven project".

      If I try to build that with maven I always get this error:

       

      Access denied to http://repository.jboss.com/maven2/org/richfaces/richfaces-bom/4.1.0-SNAPSHOT/maven-metadata.xml. Error code 403, Forbidden

       

      So after some researching I found out that

       

      http://repository.jboss.org/

       

      has no subdirectory "maven2", but richfaces, but only with version 3.x.

       

      I also added to my settings.xml the repositories from jboss like said on the website.

       

       

      So what can I do here?

       

      Thanks a lot and many greetings,

      Hauke

       

      PS.: It's getting really frustrating putting all components together without luck for several weeks :-(

        • 1. Re: JBoss 7 with Richfaces and Maven
          simkam Newbie

          Hi, part of my pom.xml

           

              <repositories>
                  <repository>
                      <id>jboss</id>
                      <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
                  </repository>
              </repositories>
          
               <dependencyManagement>
                  <dependencies>
                   <!-- Define the version of JBoss' Java EE 6 APIs we want to import. 
                      Any dependencies from org.jboss.spec will have their version defined by this 
                      BOM -->
                   <!-- 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-web-6.0 stack (you can 
                      read this as the JBoss stack of the Java EE Web Profile 6 APIs), and we use 
                      version 2.0.0.Beta1 which is the latest release of the stack. You can actually 
                      use this stack with any version of JBoss AS that implements Java EE 6, not 
                      just JBoss AS 7! -->
                      <dependency>
                          <groupId>org.jboss.spec</groupId>
                          <artifactId>jboss-javaee-web-6.0</artifactId>
                          <version>2.0.0.Final</version>
                          <type>pom</type>
                          <scope>import</scope>
                      </dependency>
                      <dependency>
                          <groupId>org.richfaces</groupId>
                          <artifactId>richfaces-bom</artifactId>
                          <version>4.0.0.Final</version>
                          <scope>import</scope>
                          <type>pom</type>
                      </dependency>
                  </dependencies>
              </dependencyManagement>
          
              <dependencies>
                  <dependency>
                      <groupId>org.richfaces.ui</groupId>
                      <artifactId>richfaces-components-ui</artifactId>
                  </dependency>
                  
                  <dependency>
                      <groupId>org.richfaces.core</groupId>
                      <artifactId>richfaces-core-impl</artifactId>
                  </dependency>
                  
                  <dependency>
                      <groupId>javax</groupId>
                      <artifactId>javaee-web-api</artifactId>
                      <version>6.0</version>
                      <scope>provided</scope>
                  </dependency>
                  
                  <dependency>
                      <groupId>javax.enterprise</groupId>
                      <artifactId>cdi-api</artifactId>
                      <scope>provided</scope>
                  </dependency>
          
                   <dependency>            <groupId>org.jboss.spec.javax.faces</groupId>
                      <artifactId>jboss-jsf-api_2.0_spec</artifactId>
                      <scope>provided</scope>
                  </dependency>
                  
                  <dependency>
                      <groupId>org.jboss.spec.javax.annotation</groupId>
                      <artifactId>jboss-annotations-api_1.1_spec</artifactId>
                      <scope>provided</scope>
                  </dependency>
               </dependencies>
          
          1 of 1 people found this helpful
          • 2. Re: JBoss 7 with Richfaces and Maven
            Hauke Gulich Newbie

            Hello and thanks for your help.

             

            That helped a lot and now the dependencies could be loaded correclty.

             

            But after during building I got this message:

             

             

            [ERROR] ActionListenerBean.java[34:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[45:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[47:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[53:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[57:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[62:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[66:null] Line has trailing spaces.

            [ERROR] ActionListenerBean.java[70:null] Line has trailing spaces.

            [ERROR] LogBean.java[31:null] Line has trailing spaces.

            [ERROR] LogBean.java[40:null] Line has trailing spaces.

            [ERROR] LogBean.java[44:null] Line has trailing spaces.

            [ERROR] LogBean.java[48:null] Line has trailing spaces.

            [ERROR] LogBean.java[60:null] Line has trailing spaces.

            [ERROR] PhaseTracker.java[35:null] Line has trailing spaces.

            [ERROR] PhaseTracker.java[44:null] Line has trailing spaces.

            [ERROR] PhaseTracker.java[47:null] Line has trailing spaces.

            [ERROR] PhaseTracker.java[52:null] Line has trailing spaces.

            [ERROR] QueueBean.java[30:null] Line has trailing spaces.

            [ERROR] QueueBean.java[35:null] Line has trailing spaces.

            [ERROR] QueueBean.java[37:null] Line has trailing spaces.

            [ERROR] RegionBean.java[59:null] Line has trailing spaces.

            [ERROR] RegionBean.java[115:null] Line has trailing spaces.

            [ERROR] RegionBean.java[119:null] Line has trailing spaces.

            [ERROR] RegionBean.java[122:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[34:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[43:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[45:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[47:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[51:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[55:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[59:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[70:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[72:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[74:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[78:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[83:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[85:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[87:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[89:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[96:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[103:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[105:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[107:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[109:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[111:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[113:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[116:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[122:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[124:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[132:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[136:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[150:null] Line has trailing spaces.

            [ERROR] RepeatBean.java[157:null] Line has trailing spaces.

            [ERROR] SkinBean.java[26:null] Line has trailing spaces.

            [ERROR] SupportBean.java[12:null] Line has trailing spaces.

            [INFO] ------------------------------------------------------------------------

            [INFO] BUILD FAILURE

            [INFO] ------------------------------------------------------------------------

            [INFO] Total time: 23.561s

            [INFO] Finished at: Wed Aug 31 11:38:49 CEST 2011

            [INFO] Final Memory: 17M/158M

            [INFO] ------------------------------------------------------------------------

             

             

            I also updated my maven to 3.0.3 (from 2.0.2) without luck. With 2.0.2 maven told me to upgrade to 3.x

             

            Strange thing is that in eclipse I can not import the maven project. This message apears :

             

            maven-checkstyle-plugin:2.5:check (1 errors)

            - Execution richfaces-checkstyle-report, in /pom.xml

             

            I can ignore that but the project will not be included in eclipse at all.

             

             

            The message above I get when I use mvn eclipse:eclipse from the console.

             

            I am using Windows 7 (in case its important)

             

             

            Many greetings,

            Hauke

            • 3. Re: JBoss 7 with Richfaces and Maven
              Hauke Gulich Newbie

              Hello,

               

              I solved that by removing this line:

               

               

              <plugin>

                   <artifactId>maven-checkstyle-plugin</artifactId>

              </plugin>

               

               

              My final version looks like this :

               

               

              <?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>

               

                  <parent>

                      <groupId>org.richfaces.examples</groupId>

                      <artifactId>richfaces-example-parent</artifactId>

                      <version>4.1.0-SNAPSHOT</version>

                      <relativePath>../parent/pom.xml</relativePath>

                  </parent>

               

                  <groupId>org.richfaces.examples</groupId>

                  <artifactId>core-demo</artifactId>

                  <packaging>war</packaging>

                  <version>4.1.0-SNAPSHOT</version>

                  <name>RichFaces Examples: Core</name>

               

                <repositories>

                      <repository>

                          <id>jboss</id>

                          <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>

                      </repository>

                  </repositories>

               

                   <dependencyManagement>

                      <dependencies>

                       <!-- Define the version of JBoss' Java EE 6 APIs we want to import.

                          Any dependencies from org.jboss.spec will have their version defined by this

                          BOM -->

                       <!-- 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-web-6.0 stack (you can

                          read this as the JBoss stack of the Java EE Web Profile 6 APIs), and we use

                          version 2.0.0.Beta1 which is the latest release of the stack. You can actually

                          use this stack with any version of JBoss AS that implements Java EE 6, not

                          just JBoss AS 7! -->

                          <dependency>

                              <groupId>org.jboss.spec</groupId>

                              <artifactId>jboss-javaee-web-6.0</artifactId>

                              <version>2.0.0.Final</version>

                              <type>pom</type>

                              <scope>import</scope>

                          </dependency>

                          <dependency>

                              <groupId>org.richfaces</groupId>

                              <artifactId>richfaces-bom</artifactId>

                              <version>4.0.0.Final</version>

                              <scope>import</scope>

                              <type>pom</type>

                          </dependency>

                      </dependencies>

                  </dependencyManagement>

               

                  <dependencies>

                      <dependency>

                          <groupId>org.richfaces.ui</groupId>

                          <artifactId>richfaces-components-ui</artifactId>

                      </dependency>

                     

                      <dependency>

                          <groupId>org.richfaces.core</groupId>

                          <artifactId>richfaces-core-impl</artifactId>

                      </dependency>

                     

                      <dependency>

                          <groupId>javax</groupId>

                          <artifactId>javaee-web-api</artifactId>

                          <version>6.0</version>

                          <scope>provided</scope>

                      </dependency>

                     

                      <dependency>

                          <groupId>javax.enterprise</groupId>

                          <artifactId>cdi-api</artifactId>

                          <scope>provided</scope>

                      </dependency>

               

                       <dependency>            <groupId>org.jboss.spec.javax.faces</groupId>

                          <artifactId>jboss-jsf-api_2.0_spec</artifactId>

                          <scope>provided</scope>

                      </dependency>

                     

                      <dependency>

                          <groupId>org.jboss.spec.javax.annotation</groupId>

                          <artifactId>jboss-annotations-api_1.1_spec</artifactId>

                          <scope>provided</scope>

                      </dependency>

                   </dependencies>

               

                  <build>

                      <plugins>

               

                          <plugin>

                              <artifactId>maven-compiler-plugin</artifactId>

                          </plugin>

                          <plugin>

                              <groupId>org.mortbay.jetty</groupId>

                              <artifactId>maven-jetty-plugin</artifactId>

                          </plugin>

                      </plugins>

                  </build>

               

                  <profiles>

                      <profile>

                          <id>release</id>

                          <build>

                              <plugins>

                                  <plugin>

                                      <artifactId>maven-war-plugin</artifactId>

                                      <executions>

                                          <execution>

                                              <id>jee6</id>

                                              <phase>package</phase>

                                              <goals>

                                                  <goal>war</goal>

                                              </goals>

                                              <configuration>

                                                  <webappDirectory>${project.build.directory}/${project.build.finalName}-jee6</webappDirectory>

                                                  <classifier>jee6</classifier>

                                                  <packagingExcludes>WEB-INF/lib/jsf-api*,WEB-INF/lib/jsf-impl*,WEB-INF/lib/jta-*</packagingExcludes>

                                                  <warSourceExcludes>WEB-INF/lib/jsf-api*,WEB-INF/lib/jsf-impl*,WEB-INF/lib/jta-*</warSourceExcludes>

                                              </configuration>

                                          </execution>

                                      </executions>

                                      <configuration>

                                          <classifier>tomcat6</classifier>

                                      </configuration>

                                  </plugin>

               

                                  <plugin>

                                      <artifactId>maven-assembly-plugin</artifactId>

                                      <executions>

                                          <execution>

                                              <id>group-sources</id>

                                              <goals>

                                                  <goal>single</goal>

                                              </goals>

                                              <phase>package</phase>

                                              <configuration>

                                                  <finalName>sources</finalName>

                                                  <descriptor>assembler.xml</descriptor>

                                              </configuration>

                                          </execution>

                                      </executions>

                                  </plugin>

                                  <plugin>

                                      <artifactId>maven-jar-plugin</artifactId>

                                      <executions>

                                          <execution>

                                              <goals>

                                                  <goal>jar</goal>

                                              </goals>

                                              <phase>package</phase>

                                              <configuration>

                                                  <!--

                                                      TODO - basedir might have a

                                                      problem with release realitive

                                                      path might be better to use

                                                      ${project.build.directory}

                                                  -->

                                                  <classesDirectory>${basedir}/target/sources/sources</classesDirectory>

                                                  <classifier>sources</classifier>

                                              </configuration>

                                          </execution>

                                      </executions>

                                  </plugin>

                              </plugins>

               

               

                          </build>

                      </profile>

                      <profile>

                          <id>jee6</id>

                          <build>

                              <plugins>

                                  <plugin>

                                      <artifactId>maven-war-plugin</artifactId>

                                      <configuration>

                                          <webappDirectory>${project.build.directory}/${project.build.finalName}-jee6</webappDirectory>

                                      </configuration>

                                  </plugin>

                              </plugins>

                          </build>

               

                          <dependencies>

                              <!-- TODO these should be switchable in example specific parent -->

                              <dependency>

                                  <groupId>com.sun.faces</groupId>

                                  <artifactId>jsf-api</artifactId>

                                  <scope>provided</scope>

                              </dependency>

                              <dependency>

                                  <groupId>com.sun.faces</groupId>

                                  <artifactId>jsf-impl</artifactId>

                                  <scope>provided</scope>

                              </dependency>

                              <dependency>

                                  <groupId>javax.transaction</groupId>

                                  <artifactId>jta</artifactId>

                                  <version>1.1</version>

                                  <scope>provided</scope>

                              </dependency>

                          </dependencies>

                      </profile>

                  </profiles>

               

                  <scm>

                      <connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk/examples/core-demo</connection>

                      <developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/trunk/examples/core-demo</developerConnection>

                      <url>http://fisheye.jboss.org/browse/richfaces</url>

                  </scm>

              </project>

               

               

              Now it works with jboss 7.0.1 FINAL.

               

               

              Thanks for your help.

               

              Hauke