I managed to setup maven descriptor so that I can build and enhance classes. I execute "mvn clean package" when I want to build it and it works just fine.
I add the following pieces to my pom.xml file at the appropriate locations: <properties> <appengine.version>1.2.2</appengine.version> <appengine.sdk.dir>[path-to-appengine-SDK]</appengine.sdk.dir> </properties> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.3</version> <executions> <execution> <phase>process-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <property file="maven- build.properties"/> <property name="appengine.tools.classpath" location="$ {appengine.sdk.dir}/lib/appengine-tools-api.jar"/> <path id="build.classpath"> <fileset dir="$ {maven.repo.local}"> <include name="junit/junit/4.5/ junit-4.5.jar"/> <include name="javax/servlet/ servlet-api/2.5/servlet-api-2.5.jar"/> <include name="org/ springframework/org.springframework.core/3.0.0.M3/ org.springframework.core-3.0.0.M3.jar"/> <include name="org/apache/ commons/com.springsource.org.apache.commons.logging/1.1.1/ com.springsource.org.apache.commons.logging-1.1.1.jar"/> <include name="org/ springframework/org.springframework.beans/3.0.0.M3/ org.springframework.beans-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.context/3.0.0.M3/ org.springframework.context-3.0.0.M3.jar"/> <include name="org/aopalliance/ com.springsource.org.aopalliance/1.0.0/ com.springsource.org.aopalliance-1.0.0.jar"/> <include name="org/ springframework/org.springframework.asm/3.0.0.M3/ org.springframework.asm-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.aop/3.0.0.M3/ org.springframework.aop-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.expression/3.0.0.M3/ org.springframework.expression-3.0.0.M3.jar"/> <include name="org/antlr/ com.springsource.org.antlr/3.0.1/com.springsource.org.antlr-3.0.1.jar"/ > <include name="org/ springframework/org.springframework.transaction/3.0.0.M3/ org.springframework.transaction-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.web.servlet/3.0.0.M3/ org.springframework.web.servlet-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.web/3.0.0.M3/ org.springframework.web-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.oxm/3.0.0.M3/ org.springframework.oxm-3.0.0.M3.jar"/> <include name="org/ springframework/org.springframework.test/3.0.0.M3/ org.springframework.test-3.0.0.M3.jar"/> <include name="com/google/ appengine/appengine-api-1.0-sdk/1.2.2/appengine-api-1.0-sdk-1.2.2.jar"/ > <include name="com/google/ appengine/appengine-api-1.0-stubs/1.2.2/appengine-api-1.0- stubs-1.2.2.jar"/> <include name="com/google/ appengine/appengine-api-1.0-runtime/1.2.2/appengine-api-1.0- runtime-1.2.2.jar"/> <include name="com/google/ appengine/appengine-tools-sdk/1.2.2/appengine-tools-sdk-1.2.2.jar"/> <include name="com/google/ appengine/orm/datanucleus-appengine/1.0.2/datanucleus- appengine-1.0.2.jar"/> <include name="org/datanucleus/ datanucleus-core/1.1.4/datanucleus-core-1.1.4.jar"/> <include name="javax/transaction/ transaction-api/1.1/transaction-api-1.1.jar"/> <include name="org/apache/ geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo- jta_1.1_spec-1.1.1.jar"/> <include name="javax/jdo/jdo2- api/2.3-ea/jdo2-api-2.3-ea.jar"/> <include name="org/datanucleus/ datanucleus-jpa/1.1.4/datanucleus-jpa-1.1.4.jar"/> <include name="org/apache/ geronimo/specs/geronimo-jpa_3.0_spec/1.1.1/geronimo- jpa_3.0_spec-1.1.1.jar"/> <include name="javax/servlet/ jstl/1.1.2/jstl-1.1.2.jar"/> <include name="taglibs/standard/ 1.1.2/standard-1.1.2.jar"/> <include name="commons-lang/ commons-lang/2.4/commons-lang-2.4.jar"/> <include name="commons-io/ commons-io/1.4/commons-io-1.4.jar"/> <include name="genjava/gj-csv/ 1.0/gj-csv-1.0.jar"/> <include name="displaytag/ displaytag/1.2/displaytag-1.2.jar"/> <include name="commons- collections/commons-collections/3.1/commons-collections-3.1.jar"/> <include name="com/lowagie/itext/ 1.3/itext-1.3.jar"/> <include name="commons-beanutils/ commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar"/> <include name="org/slf4j/jcl104- over-slf4j/1.4.2/jcl104-over-slf4j-1.4.2.jar"/> <include name="org/slf4j/slf4j- log4j12/1.4.2/slf4j-log4j12-1.4.2.jar"/> <include name="org/slf4j/slf4j- api/1.4.2/slf4j-api-1.4.2.jar"/> <include name="log4j/log4j/ 1.2.13/log4j-1.2.13.jar"/> <include name="xalan/xalan/2.7.1/ xalan-2.7.1.jar"/> <include name="xalan/serializer/ 2.7.1/serializer-2.7.1.jar"/> <include name="xml-apis/xml-apis/ 1.3.04/xml-apis-1.3.04.jar"/> </fileset> </path> <taskdef name="enhance" classpath="$ {appengine.tools.classpath}" classname="com.google.appengine.tools.enhancer.EnhancerTask"/> <enhance failonerror="true"> <classpath> <pathelement path="$ {appengine.tools.classpath}"/> <pathelement path="$ {maven.build.outputDir}"/> <path refid="build.classpath"/ > </classpath> <fileset dir="$ {maven.build.outputDir}" includes="**/*.class"/> </enhance> </tasks> </configuration> </execution> </executions> </plugin> build.classpath definition there has been copied from maven-build.xml generated with "mvn ant:ant". Will probably have to be different for you environment. AppEngine 1.2.2 libraries can be included like this: <dependency> <groupId>com.google.appengine</groupId> <artifactId>appengine-api-1.0-sdk</artifactId> <version>${appengine.version}</version> </dependency> <dependency> <groupId>com.google.appengine</groupId> <artifactId>appengine-api-1.0-stubs</artifactId> <version>${appengine.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.appengine</groupId> <artifactId>appengine-api-1.0-runtime</artifactId> <version>${appengine.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.appengine</groupId> <artifactId>appengine-tools-sdk</artifactId> <version>${appengine.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.appengine.orm</groupId> <artifactId>datanucleus-appengine</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-jpa</artifactId> <version>1.1.4</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jpa_3.0_spec</artifactId> <version>1.1.1</version> </dependency> Google AppEngine 1.2.2 libraries can be found at mvnsearch.org, so the list of repositories needs to include this: <repository> <id>mvnsearch-repo</id> <name>MVNSearch Maven Repository</name> <url>http://www.mvnsearch.org/maven2/</url> </repository> Unit tests still don't run for me within Maven. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---