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
Post a Comment