Problem with errai tutorial
alex122 Nov 25, 2013 8:28 AMHi,
I am new to erra however with some GWT experience. I decided that I will start my adventure by configuring development environment and installing tutorial. So this is what I have on board:
- errai tutorial 2.4.2.Final
- jboss as 7.1.1.Final
- maven 3
- jdk 1.7
- IntelliJ Idea
- Windows
This is my pom content. Basically the standard one with only <errai.jboss.home variable set (also JBOSS_HOME environment variable):
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.errai.demo</groupId>
<artifactId>errai-tutorial</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Errai::Tutorial</name>
<properties>
<errai.version>2.4.2.Final</errai.version>
<errai.devmode.version>3.0.0.20131101-M2</errai.devmode.version>
<gwt.version>2.5.1</gwt.version>
<slf4j.version>1.5.11</slf4j.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<javaee.version>3.0.2.Final</javaee.version>
<errai.dev.context>${project.artifactId}</errai.dev.context>
<errai.jboss.home>C:\Users\alex\Programy\jboss</errai.jboss.home>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.errai.bom</groupId>
<artifactId>errai-version-master</artifactId>
<version>${errai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-parent</artifactId>
<version>${errai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>${javaee.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core</artifactId>
<version>1.1.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet-core</artifactId>
<version>1.1.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-cdi-jboss</artifactId>
<version>${errai.devmode.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-client-local-class-hider</artifactId>
<version>${errai.devmode.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-javaee-all</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-cordova</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>${javaee.version}</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-cdi-jboss</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-client-local-class-hider</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>JBOSS_NEXUS</id>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</repository>
</repositories>
<build>
<finalName>${project.artifactId}</finalName>
<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<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.4.0,)</versionRange>
<goals>
<goal>resources</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.version}</version>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<extraJvmArgs>-Xmx712m -XX:CompileThreshold=7000 -XX:MaxPermSize=128M -Derrai.jboss.home=${errai.jboss.home} -Derrai.dev.context=${errai.dev.context} -Derrai.jboss.javaagent.path=${settings.localRepository}/org/jboss/errai/errai-client-local-class-hider/${errai.devmode.version}/errai-client-local-class-hider-${errai.devmode.version}.jar</extraJvmArgs>
<logLevel>INFO</logLevel>
<noServer>false</noServer>
<server>org.jboss.errai.cdi.server.gwt.JBossLauncher</server>
<disableCastChecking>true</disableCastChecking>
<runTarget>${errai.dev.context}/index.html</runTarget>
<hostedWebapp>src/main/webapp</hostedWebapp>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}</directory>
<includes>
<include>src/main/webapp/app/</include>
<include>src/main/webapp/WEB-INF/deploy/</include>
<include>src/main/webapp/WEB-INF/lib/</include>
<include>**/gwt-unitCache/**</include>
<include>.errai/</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jboss7</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<packagingExcludes>**/javax/**/*.*,**/client/local/**/*.class</packagingExcludes>
<outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping>
</configuration>
</plugin>
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.1.1.Final</version>
<extensions>false</extensions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-jboss-as-support</artifactId>
</dependency>
<!-- TODO figure out how to force all these things to provided scope without doing it explicitly in EVERY SINGLE ERRAI PROJECT!!!!111!!!!1 -->
<!-- Don't deploy any of this -->
<dependency><groupId>com.google.guava</groupId><artifactId>guava-gwt</artifactId><scope>provided</scope></dependency>
<dependency><groupId>hsqldb</groupId><artifactId>hsqldb</artifactId><scope>provided</scope></dependency>
<dependency><groupId>javax.annotation</groupId><artifactId>jsr250-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>javax.enterprise</groupId><artifactId>cdi-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>javax.inject</groupId><artifactId>javax.inject</artifactId><scope>provided</scope></dependency>
<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><classifier>sources</classifier><scope>provided</scope></dependency>
<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.hibernate.common</groupId><artifactId>hibernate-commons-annotations</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.hibernate.javax.persistence</groupId><artifactId>hibernate-jpa-2.0-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><classifier>sources</classifier><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-cdi-jetty</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-cdi-jboss</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-client-local-class-hider</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-codegen-gwt</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-data-binding</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-javax-enterprise</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-jaxrs-client</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-jpa-client</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-navigation</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai</groupId><artifactId>errai-tools</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.logging</groupId><artifactId>jboss-logging</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.resteasy</groupId><artifactId>jaxrs-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.spec.javax.interceptor</groupId><artifactId>jboss-interceptors-api_1.1_spec</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.spec.javax.transaction</groupId><artifactId>jboss-transaction-api_1.1_spec</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.weld.servlet</groupId><artifactId>weld-servlet-core</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.weld</groupId><artifactId>weld-core</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.weld</groupId><artifactId>weld-api</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.weld</groupId><artifactId>weld-spi</artifactId><scope>provided</scope></dependency>
<dependency><groupId>xml-apis</groupId><artifactId>xml-apis</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.jboss.errai.io.netty</groupId><artifactId>netty</artifactId><scope>provided</scope></dependency>
<dependency><groupId>org.mortbay.jetty</groupId><artifactId>jetty-naming</artifactId><scope>provided</scope></dependency>
</dependencies>
</profile>
<profile>
<id>mobile</id>
<build>
<plugins>
<plugin>
<groupId>org.jboss.errai</groupId>
<artifactId>cordova-maven-plugin</artifactId>
<version>2.4.1.Final</version>
<executions>
<execution>
<id>build</id>
<phase>package</phase>
<goals>
<goal>build-project</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>snapshots.jboss.org</id>
<name>JBoss Snapshot Repository</name>
<url>http://snapshots.jboss.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</project>
Unfortunately this standard setting does not work. I have spent some time now with no success. I have pinned point the problem to hostedWebapp setting. Somehow path delimiters are removed and of course JBoss can not deploy application if it can not find it. I have tried many combinations to fix this:
- /src/main/webapp
- \src\main\webapp
- \\src\\main\webapp
- c:/Users/alex/workspace_priv/nn_new/errai-tutorial-master/src/main/webapp
- c:\\Users\\alex\\workspace_priv\\nn_new\\errai-tutorial-master\\src\\main\\webapp
- C:\Users\alex\workspace_priv\nn_new\errai-tutorial-master\src\main\webapp
- /Users/alex/workspace_priv/nn_new/errai-tutorial-master/src/main/webapp
I thought that the problem is that I develop on Windows, however I am stuck and can not move forward. It is probably not related with IntelliJ as I get exactly the same error running mvn clean gwt:run from command line
The JBoss error:
[INFO] 14:14:53,680 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 633ms - Started 169 of 248 services (78 services are passive or on-demand)
[INFO] {"outcome" => "success"}
[INFO] 14:14:54,353 INFO [org.jboss.as.server.deployment] (MSC service thread 1-14) JBAS015876: Starting deployment of "errai-tutorial.war"
[INFO] 14:14:54,368 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-10) MSC00001: Failed to start service jboss.deployment.unit."errai-tutorial.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."errai-tutorial.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "errai-tutorial.war"
[INFO] at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[INFO] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
[INFO] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
[INFO] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_17]
[INFO] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_17]
[INFO] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_17]
[INFO] Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Failed to mount deployment content
[INFO] at org.jboss.as.server.deployment.module.DeploymentRootMountProcessor.deploy(DeploymentRootMountProcessor.java:91) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[INFO] at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[INFO] ... 5 more
[INFO] Caused by: java.io.FileNotFoundException: C:\Users\alex\workspace_priv\nn_new\errai-tutorial-master\Usersalexworkspace_privnn_newerrai-tutorial-mastersrcmainwebapp (Nie mo�na odnale�� okre�lonego pliku)
[INFO] at java.io.FileInputStream.open(Native Method) [rt.jar:1.7.0_17]
[INFO] at java.io.FileInputStream.<init>(FileInputStream.java:138) [rt.jar:1.7.0_17]
[INFO] at org.jboss.vfs.spi.RootFileSystem.openInputStream(RootFileSystem.java:57) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[INFO] at org.jboss.vfs.VirtualFile.openStream(VirtualFile.java:238) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[INFO] at org.jboss.vfs.VFS.mountZipExpanded(VFS.java:567) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
[INFO] at org.jboss.as.server.deployment.DeploymentMountProvider$Factory$ServerDeploymentRepositoryImpl.mountDeploymentContent(DeploymentMountProvider.java:97) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[INFO] at org.jboss.as.server.deployment.module.DeploymentRootMountProcessor.deploy(DeploymentRootMountProcessor.java:87) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
[INFO] ... 6 more
[INFO]
[INFO] 14:14:54,383 INFO [org.jboss.as.server] (management-handler-thread - 3) JBAS015870: Deploy of deployment "errai-tutorial.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"errai-tutorial.war\".STRUCTURE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"errai-tutorial.war\".STRUCTURE: Failed to process phase STRUCTURE of deployment \"errai-tutorial.war\""}}
[INFO] 14:14:54,383 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015877: Stopped deployment errai-tutorial.war in 0ms
[INFO] 14:14:54,386 INFO [org.jboss.as.controller] (management-handler-thread - 3) JBAS014774: Service status report
[INFO] JBAS014777: Services which failed to start: service jboss.deployment.unit."errai-tutorial.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."errai-tutorial.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "errai-tutorial.war"
[INFO]
[INFO] {"outcome" => "success"}
[ERROR] Unable to start embedded HTTP server
[ERROR] com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
[ERROR] at org.jboss.errai.cdi.server.gwt.JBossLauncher.start(JBossLauncher.java:120)
[ERROR] at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
Has anyone an idea what is wrong?