6 Replies Latest reply on Oct 9, 2016 12:14 AM by Paa Kojo Konduah Amos

    Failure : Adding Richfaces 4 to a Maven Based Project.

    Paa Kojo Konduah Amos Newbie

      Hello, i have read numerous articles and blogs on this subject but i seem not to get mine working... i am using Eclipse Indigo and also utilising the jboss-javaee6-webapp Archetype. below is the full POM.xml file.

       

      Now following this instruction(https://community.jboss.org/wiki/HowToAddRichFaces4xToMavenBasedProject) , after adding the highlighted section in the POM.xml below....Eclipse shows this error(Project build error: Non-resolvable import POM: Could not find artifact org.richfaces:richfaces-bom:pom:4.1.0.Final in central (http://repo1.maven.org/maven2))

       

       

      NOTE: I didn't even bother adding the Richfaces library dependencies because of this error!

       

      PLEASE CAN SOMEONE HELP ME RESOLVE THIS ? 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>com.myproject</groupId>

         <artifactId>myproject</artifactId>

         <version>0.0.1-SNAPSHOT</version>

         <packaging>war</packaging>

         <name>Java EE 6 webapp project</name>

         <description>A starter Java EE 6 webapp project for use on JBoss AS 7 / EAP 6, generated from the jboss-javaee6-webapp archetype</description>

       

       

         <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 we want to import.

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

              BOM -->

            <javaee6.web.spec.version>2.0.0.Final</javaee6.web.spec.version>

            <!-- Alternatively, comment out the above line, and un-comment the line below to

              use version 3.0.0.Beta1-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. -->

            <!--

            <javaee6.web.spec.version>3.0.0.Beta1-redhat-1</javaee6.web.spec.version>

            -->

            <org.richfaces.bom.version>4.1.0.Final</org.richfaces.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-web-6.0 stack (you can

                  read this as the JBoss stack of the Java EE Web Profile 6 APIs) -->

              <dependency>

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

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

                  <version>${javaee6.web.spec.version}</version>

                  <type>pom</type>

                  <scope>import</scope>

              </dependency>

             <dependency>

                      <groupId>org.richfaces</groupId>

                      <artifactId>richfaces-bom</artifactId>

                      <version>${org.richfaces.bom.version}</version>

                      <scope>import</scope>

                      <type>pom</type>

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

               <version>4.2.0.Final</version>

               <scope>provided</scope>

               <exclusions>

                  <exclusion>

                     <groupId>org.slf4j</groupId>

                     <artifactId>slf4j-api</artifactId>

                  </exclusion>

               </exclusions>

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

               <version>1.1.1.Final</version>

               <scope>provided</scope>

            </dependency>

       

       

            <!-- Needed for running tests (you may also use TestNG) -->

            <dependency>

               <groupId>junit</groupId>

               <artifactId>junit</artifactId>

               <version>4.10</version>

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

               <version>1.0.0.CR4</version>

               <scope>test</scope>

            </dependency>

           

            <dependency>

               <groupId>org.jboss.arquillian.protocol</groupId>

               <artifactId>arquillian-protocol-servlet</artifactId>

               <version>1.0.0.CR4</version>

               <scope>test</scope>              

            </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, set the JBOSS_HOME environment variable and run: mvn

                  package jboss-as:deploy -->

               <plugin>

                  <groupId>org.jboss.as.plugins</groupId>

                  <artifactId>jboss-as-maven-plugin</artifactId>

                  <version>7.1.0.Beta1b</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>

               <!-- We add the JBoss repository as we need the JBoss AS connectors

                  for Arquillian -->

               <repositories>

                  <!-- The JBoss Community public repository is a composite repository

                     of several major repositories -->

                  <!-- see http://community.jboss.org/wiki/MavenGettingStarted-Users -->

                  <repository>

                     <id>jboss-public-repository</id>

                     <name>JBoss Repository</name>

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

                     <!-- These optional flags are designed to speed up your builds

                        by reducing remote server calls -->

                     <releases>

                     </releases>

                     <snapshots>

                        <enabled>false</enabled>

                     </snapshots>

                  </repository>

               </repositories>

       

       

               <pluginRepositories>

                  <pluginRepository>

                     <id>jboss-public-repository</id>

                     <name>JBoss Repository</name>

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

                     <releases>

                     </releases>

                     <snapshots>

                        <enabled>false</enabled>

                     </snapshots>

                  </pluginRepository>

               </pluginRepositories>

       

       

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

                     <version>7.1.0.Beta1b</version>

                     <scope>test</scope>

                  </dependency>

               </dependencies>

            </profile>

       

       

            <profile>

               <!-- We add the JBoss repository as we need the JBoss AS connectors

                  for Arquillian -->

               <repositories>

                  <!-- The JBoss Community public repository is a composite repository

                     of several major repositories -->

                  <!-- see http://community.jboss.org/wiki/MavenGettingStarted-Users -->

                  <repository>

                     <id>jboss-public-repository</id>

                     <name>JBoss Repository</name>

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

                     <!-- These optional flags are designed to speed up your builds

                        by reducing remote server calls -->

                     <releases>

                     </releases>

                     <snapshots>

                        <enabled>false</enabled>

                     </snapshots>

                  </repository>

               </repositories>

       

       

               <pluginRepositories>

                  <pluginRepository>

                     <id>jboss-public-repository</id>

                     <name>JBoss Repository</name>

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

                     <releases>

                     </releases>

                     <snapshots>

                        <enabled>false</enabled>

                     </snapshots>

                  </pluginRepository>

               </pluginRepositories>

       

       

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

                     <version>7.1.0.Beta1b</version>

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

      </project>