- 
        1. Re: Errai Navigation dependenciesjfuerth Jun 7, 2013 11:11 AM (in response to yagerhard)Hi Mark, I guess you are you using the dependencies outlined in the reference guide: https://docs.jboss.org/author/display/ERRAI/Errai+UI+Navigation#ErraiUINavigation-GettingStarted -- this information is correct as far as I know. Can you be specific about what's not working? Full output from a failed GWT compile would help me understand what the problem is. -Jonathan 
- 
        2. Re: Errai Navigation dependenciesyagerhard Jun 11, 2013 2:36 AM (in response to jfuerth)Hi Jonathan, Here's the console: ================ 2013-06-11 16:25:01.049 java[390:407] [Java CocoaComponent compatibility mode]: Enabled 2013-06-11 16:25:01.050 java[390:407] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000 Loading modules com.mgb.rcs.App Loading inherited module 'com.mgb.rcs.App' Loading inherited module 'org.jboss.errai.ui.nav.Navigation' Loading inherited module 'org.jboss.errai.enterprise.CDI' [ERROR] Unable to find 'org/jboss/errai/enterprise/CDI.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source? [ERROR] Line 9: Unexpected exception while processing element 'inherits' com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:304) at com.google.gwt.dev.cfg.ModuleDefSchema$BodySchema.__inherits_begin(ModuleDefSchema.java:493) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230) . . . Here's the GWT.xml ================= <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.6//EN" "http://google-web-toolkit.googlecode.com/svn/releases/1.6/distro-source/core/src/gwt-module.dtd"> <!-- ~ Copyright 2009 JBoss, a divison Red Hat, Inc ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. ~ You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing permissions and ~ limitations under the License. --> <module rename-to="App"> <inherits name='com.google.gwt.user.User'/> <inherits name="org.jboss.errai.bus.ErraiBus"/> <inherits name="org.jboss.errai.ui.nav.Navigation"/> <source path='client'/> <source path='shared'/> </module> Here's the pom.xml ======================== <?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright 2009 JBoss, a divison Red Hat, Inc ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. ~ You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing permissions and ~ limitations under the License. --> <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> <name>rcs</name> <groupId>com.mgb.rcs</groupId> <artifactId>rcs</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <errai.version>2.3.1.Final</errai.version> <gwt.version>2.4.0</gwt.version> <gwt.maven.version>2.4.0</gwt.maven.version> <slf4j.version>1.6.1</slf4j.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.6</maven.compiler.source> <maven.compiler.target>1.6</maven.compiler.target> </properties> <dependencies> <!-- Project Dependencies --> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-common</artifactId> <version>${errai.version}</version> </dependency> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-bus</artifactId> <version>${errai.version}</version> </dependency> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-ioc</artifactId> <version>${errai.version}</version> </dependency> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-tools</artifactId> <version>${errai.version}</version> </dependency> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-navigation</artifactId> <version>${errai.version}</version> </dependency> <!-- Add navigation requirements here --> <!-- GWT and GWT Extensions --> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-servlet</artifactId> <scope>provided</scope> <version>${gwt.version}</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <scope>provided</scope> <version>${gwt.version}</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-dev</artifactId> <scope>provided</scope> <version>${gwt.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!-- For testing --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.1</version> <scope>test</scope> </dependency> </dependencies> <profiles> <profile> <id>jetty</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <webDescriptor>jetty</webDescriptor> </properties> </profile> <profile> <id>jboss5</id> <properties> <webDescriptor>jboss5</webDescriptor> </properties> <dependencies> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-ioc</artifactId> <exclusions> <exclusion> <artifactId>jsr250-api</artifactId> <groupId>javax.annotation</groupId> </exclusion> </exclusions> <scope>compile</scope> <version>${errai.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.15.0-GA</version> <scope>provided</scope> </dependency> </dependencies> </profile> <profile> <id>jboss6</id> <properties> <webDescriptor>jboss6</webDescriptor> </properties> <dependencies> <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-ioc</artifactId> <exclusions> <exclusion> <artifactId>jsr250-api</artifactId> <groupId>javax.annotation</groupId> </exclusion> <exclusion> <artifactId>javax.inject</artifactId> <groupId>javax.inject</groupId> </exclusion> </exclusions> <scope>compile</scope> <version>${errai.version}</version> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.15.0-GA</version> <scope>provided</scope> </dependency> </dependencies> </profile> <profile> <id>jboss7</id> <properties> <webDescriptor>jboss7</webDescriptor> </properties> </profile> <profile> <id>tomcat</id> <properties> <webDescriptor>tomcat</webDescriptor> </properties> </profile> <!-- OpenShift Express Profiles --> <profile> <id>openshift</id> <properties> <webDescriptor>jboss7</webDescriptor> </properties> <build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping> <packagingExcludes>**/javax/**/*.*,**/client/local/**/*.class</packagingExcludes> <outputDirectory>deployments</outputDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.3</version> <executions> <execution> <id>jboss.package</id> <phase>prepare-package</phase> <configuration> <tasks> <copy file="src/jboss/web.xml" toDir="src/main/webapp/WEB-INF" overwrite="true" /> <delete file="src/main/webapp/WEB-INF/jetty-env.xml" /> <delete file="src/main/webapp/WEB-INF/classes/jndi.properties" /> <copy todir="src/main/webapp/app/"> <fileset dir="war.cache/app/" /> </copy> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>${gwt.maven.version}</version> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>openshift-prepare</id> <properties> <webDescriptor>jboss7</webDescriptor> </properties> <build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <warSourceDirectory>war.cache</warSourceDirectory> <webappDirectory>war.cache</webappDirectory> <outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping> <packagingExcludes>**/javax/**/*.*,**/client/local/**/*.class</packagingExcludes> <webResources> <resource> <!-- this is relative to the pom.xml directory --> <directory>src/${webDescriptor}</directory> </resource> </webResources> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.2</version> <executions> <execution> <id>jboss.package</id> <phase>prepare-package</phase> <configuration> <tasks> <copy todir="war.cache/app/"> <fileset dir="src/main/webapp/app/" /> </copy> <exec executable="git"> <arg value="add" /> <arg value="war.cache" /> </exec> <exec executable="git"> <arg value="commit" /> <arg value="-a" /> <arg value="-m" /> <arg value="'commit war.cache'" /> </exec> <echo message="Openshift Prepared!" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile that must be enabled when running integration tests (any test that extends GWTTestCase directly or indirectly) --> <profile> <id>integration-test</id> <properties> <profile.testOutputDirectory>${basedir}/target/test-classes</profile.testOutputDirectory> </properties> <dependencies> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-dev</artifactId> <version>${gwt.version}</version> </dependency> </dependencies> <build> <testResources> <testResource> <directory>src/test/java</directory> </testResource> <testResource> <directory>src/test/resources</directory> </testResource> </testResources> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skipTests>false</skipTests> <additionalClasspathElements> <additionalClasspathElement>${profile.testOutputDirectory}/</additionalClasspathElement> <additionalClasspathElement>${basedir}/src/test/java/</additionalClasspathElement> <additionalClasspathElement>${basedir}/src/main/java/</additionalClasspathElement> </additionalClasspathElements> <useManifestOnlyJar>false</useManifestOnlyJar> <forkMode>pertest</forkMode> <!-- Note: to run the test in a real browser, set -DargLine='-Dgwt.args="-runStyle Manual:1"' --> <argLine>-Xmx512m ${argLine}</argLine> <systemProperties> <!-- Must disable long polling for automated tests to succeed --> <property> <name>errai.hosted_mode_testing</name> <value>true</value> </property> <property> <name>gwt.args</name> <value>-war src/main/webapp</value> </property> </systemProperties> </configuration> </plugin> </plugins> </build> </profile> </profiles> <build> <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>${gwt.maven.version}</version> <configuration> <logLevel>INFO</logLevel> <runTarget>App.html</runTarget> <extraJvmArgs>-Xmx512m</extraJvmArgs> <soyc>false</soyc> <hostedWebapp>src/main/webapp/</hostedWebapp> <treeLogger>true</treeLogger> </configuration> <executions> <execution> <goals> <goal>resources</goal> <goal>compile</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <warName>${project.artifactId}</warName> <outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping> <packagingExcludes>**/javax/**/*.*,**/client/local/**/*.class</packagingExcludes> <webResources> <resource> <!-- this is relative to the pom.xml directory --> <directory>src/${webDescriptor}</directory> </resource> </webResources> </configuration> </plugin> <!-- Tests are skipped by default because they require additional GWT dependencies. Run mvn with -Pintegration-test to enable testing. --> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <plugin> <groupId>org.jboss.errai</groupId> <artifactId>jacoco-gwt-maven-plugin</artifactId> <version>0.5.4.201202141554</version> <configuration> <append>false</append> </configuration> <executions> <execution> <id>jacoco-gwt-prepare-agent</id> <phase>initialize</phase> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>jacoco-gwt-report</id> <phase>site</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.4.1</version> <configuration> <filesets> <fileset> <directory>${basedir}</directory> <includes> <include>www-test/**</include> <include>.gwt/**</include> <include>.errai/**</include> <include>src/main/webapp/WEB-INF/deploy/**</include> <include>src/main/webapp/WEB-INF/lib/**</include> <include>src/main/webapp/App/**</include> <include>**/gwt-unitCache/**</include> <include>**/*.JUnit/**</include> </includes> </fileset> </filesets> </configuration> </plugin> </plugins> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <versionRange>[2.3.0,)</versionRange> <goals> <goal>resources</goal> </goals> </pluginExecutionFilter> <action> <execute /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.jboss.errai</groupId> <artifactId>jacoco-gwt-maven-plugin</artifactId> <versionRange>[0.5.0,)</versionRange> <goals> <goal>prepare-agent</goal> </goals> </pluginExecutionFilter> <action> <ignore/> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> <reporting> <excludeDefaults>true</excludeDefaults> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>${gwt.maven.version}</version> <reportSets> <reportSet> <reports> <report>soyc</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <!-- Repositories --> <repositories> <repository> <id>jboss-public-repository-group</id> <name>JBoss Public Maven Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public/</url> <layout>default</layout> <releases> <updatePolicy>never</updatePolicy> </releases> <snapshots> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss-public-repository-group</id> <name>JBoss Public Maven Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public/</url> <layout>default</layout> <releases> <updatePolicy>never</updatePolicy> </releases> <snapshots> <updatePolicy>never</updatePolicy> </snapshots> </pluginRepository> </pluginRepositories> <!-- DistributionManagement --> <distributionManagement> <repository> <id>jboss-releases-repository</id> <name>JBoss Releases Repository</name> <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>jboss-snapshots-repository</id> <name>JBoss Snapshots Repository</name> <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> </project> ================================== Many thanks, MarkB 
- 
        3. Re: Errai Navigation dependenciesjfuerth Jun 11, 2013 9:55 AM (in response to yagerhard)Hi Mark, Thanks for the information. It looks like you will need to add the following dependency to your build: <dependency> <groupId>org.jboss.errai</groupId> <artifactId>errai-cdi-client</artifactId> <version>${errai.version}</version> </dependency>This is a bug in the errai-navigation pom. You should get errai-cdi-client as a transitive dependency of errai-navigation. I'll fix this in the 3.0 branch right away. -Jonathan 
- 
        4. Re: Errai Navigation dependenciesjfuerth Jun 11, 2013 10:27 AM (in response to jfuerth)Jonathan Fuerth wrote: This is a bug in the errai-navigation pom. You should get errai-cdi-client as a transitive dependency of errai-navigation. I'll fix this in the 3.0 branch right away. Actually, I'm going to have to eat those words.. You don't want to deploy errai-cdi-client to the webserver. It's a compile-time-only dependency. If I change its scope to compile in the errai-navigation pom, you would then have to adjust it back to provided in your pom. I will update the docs instead. Note that we're working on a much better (we hope!) system for importing Errai dependencies rather than depending on them. This will be ready for Errai 3.0. Soon, this whole dependency scope mess should be over. -Jonathan 
 
    