gwt - java.lang.RuntimeException: The RequestFactory ValidationTool must be run -


i have been bogged down whole day. went through links available issue. followed instructions on https://code.google.com/p/google-web-toolkit/wiki/requestfactoryinterfacevalidation#validationtool

i still getting error no idea why.

i going crazy here. please help. there else missing here??

this pom.xml

<?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">      <!-- pom file generated gwt webappcreator -->     <modelversion>4.0.0</modelversion>     <groupid>com.kivar.lumina</groupid>     <artifactid>client</artifactid>     <packaging>war</packaging>     <version>1.0-snapshot</version>     <name>gwt maven archetype</name>      <properties>         <!-- convenience property set gwt version -->         <gwtversion>2.5.1</gwtversion>         <!-- gwt needs @ least java 1.5 -->         <webappdirectory>${project.build.directory}/${project.build.finalname}</webappdirectory>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>     </properties>      <dependencies>         <dependency>             <groupid>com.google.gwt</groupid>             <artifactid>gwt-servlet</artifactid>             <version>${gwtversion}</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>com.google.gwt</groupid>             <artifactid>gwt-user</artifactid>             <version>${gwtversion}</version>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>junit</groupid>             <artifactid>junit</artifactid>             <version>4.7</version>             <scope>test</scope>         </dependency>          <!-- requestfactory server -->          <dependency>             <groupid>com.google.web.bindery</groupid>             <artifactid>requestfactory-server</artifactid>             <version>${gwtversion}</version>         </dependency>          <!-- hibernate dependencies -->         <!-- <dependency> <groupid>javax.validation</groupid> <artifactid>validation-api</artifactid>              <version>1.0.0.ga</version> </dependency> <dependency> <groupid>org.hibernate</groupid>              <artifactid>hibernate-entitymanager</artifactid> <version>4.2.1.final</version>              </dependency> -->         <dependency>             <groupid>org.hibernate</groupid>             <artifactid>hibernate-core</artifactid>             <version>4.2.1.final</version>         </dependency>         <dependency>             <groupid>org.hibernate</groupid>             <artifactid>hibernate-validator</artifactid>             <version>4.3.1.final</version>         </dependency>         <!-- required hibernate validator because slf4j-log4j optional in              hibernate-validator pom -->         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>slf4j-log4j12</artifactid>             <version>1.6.1</version>         </dependency>         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>slf4j-api</artifactid>             <version>1.6.1</version>         </dependency>          <!-- oracle jdbc driver -->         <dependency>             <groupid>com.oracle</groupid>             <artifactid>ojdbc6</artifactid>             <version>11.2.0.3</version>         </dependency>       </dependencies>      <repositories>         <repository>             <id>codelds</id>             <url>https://code.lds.org/nexus/content/groups/main-repo</url>         </repository>     </repositories>      <build>         <!-- generate compiled stuff in folder used developing mode -->         <outputdirectory>${webappdirectory}/web-inf/classes</outputdirectory>          <pluginmanagement>             <plugins>                 <!-- gwt maven plugin -->                 <plugin>                     <groupid>org.codehaus.mojo</groupid>                     <artifactid>gwt-maven-plugin</artifactid>                     <version>2.5.1</version>                     <executions>                         <execution>                             <goals>                                 <goal>compile</goal>                                 <goal>test</goal>                                 <goal>i18n</goal>                                 <goal>generateasync</goal>                             </goals>                         </execution>                     </executions>                     <!-- plugin configuration. there many available options, see gwt-maven-plugin                          documentation @ codehaus.org -->                     <configuration>                         <runtarget>application.html</runtarget>                         <hostedwebapp>${webappdirectory}</hostedwebapp>                         <i18nmessagesbundle>com.kivar.lumina.client.messages</i18nmessagesbundle>                     </configuration>                 </plugin>                  <!-- copy static web files before executing gwt:run -->                 <plugin>                     <groupid>org.apache.maven.plugins</groupid>                     <artifactid>maven-war-plugin</artifactid>                     <version>2.1.1</version>                     <executions>                         <execution>                             <phase>compile</phase>                             <goals>                                 <goal>exploded</goal>                             </goals>                         </execution>                     </executions>                     <configuration>                         <webappdirectory>${webappdirectory}</webappdirectory>                     </configuration>                 </plugin>                 <plugin>                     <groupid>org.apache.maven.plugins</groupid>                     <artifactid>maven-compiler-plugin</artifactid>                     <version>2.3.2</version>                     <configuration>                         <source>1.7</source>                         <target>1.7</target>                     </configuration>                 </plugin>                  <!-- requestfactory validation jar -->                 <plugin>                     <artifactid>maven-compiler-plugin</artifactid>                     <version>2.5.1</version>                     <configuration>                         <source>1.6</source>                         <target>1.6</target>                     </configuration>                     <dependencies>                         <dependency>                             <groupid>com.google.web.bindery</groupid>                             <artifactid>requestfactory-apt</artifactid>                             <version>${gwtversion}</version>                         </dependency>                     </dependencies>                 </plugin>             </plugins>         </pluginmanagement>     </build>  </project> 

is there else missing here??

as mentioned in comments need have "yourrequestfactory"deobfuscatorbuilder.class file in order run it. had similar problem , wanted non-eclipse dependent solution. solved with:

        <plugin>             <groupid>org.apache.maven.plugins</groupid>             <artifactid>maven-compiler-plugin</artifactid>             <version>2.5.1</version>             <configuration>                 <source>1.6</source>                 <target>1.6</target>                 <annotationprocessors>                      <annotationprocessor>com.google.web.bindery.requestfactory.apt.rfvalidator</annotationprocessor>                 </annotationprocessors>             </configuration>             <dependencies>                 <dependency>                     <groupid>com.google.web.bindery</groupid>                     <artifactid>requestfactory-apt</artifactid>                     <version>${gwtversion}</version>                 </dependency>             </dependencies>         </plugin> 

another option use com.google.web.bindery.requestfactory.apt.validationtool tool directly. need run jdk java (not jre) , have

requestfactory-apt-2.5.1.jar
requestfactory-server-2.5.1.jar
wanna-be requestfactory classes , dependencies

on classpath. replace 2.5.1 ${gwtversion}. run

java -cp <your_set_classpath> com.google.web.bindery.requestfactory.apt.validationtool <your wanna-be requestfactory class validated> <another wannae-be factory>... 

example windows .bat file (cd-ed jdk directory run jdk java instead of jre java):

set loc=d:\coding\java\workspace\j2ee\beg_1\allo\web\src\main\java\ set tool=d:\coding\tools\maven\.m2\repository\com\google\web\bindery\requestfactory-apt\2.5.1\requestfactory-apt-2.5.1.jar set server=d:\coding\tools\maven\.m2\repository\com\google\web\bindery\requestfactory-server\2.5.1\requestfactory-server-2.5.1.jar set lib=d:\coding\tools\maven\.m2\repository\bbc\juniperus\allo-entities\1.0\allo-entities-1.0.jar set lib2=d:\coding\tools\maven\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.1.final\hibernate-jpa-2.0-api-1.0.1.final.jar  set cp=%loc%;%tool%;%server%;%lib%;%lib2%  cd %java_home%/bin  java -cp %cp% com.google.web.bindery.requestfactory.apt.validationtool d:/output.jar bbc.juniperus.allo.web.gwt.client.calendarrequestfactory" 

also though not maven guru not sure if having double maven-compiler-plugin declaration in maven not somehow contribute validation not being run when building.


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -