About 2 years ago, started a from-scratch GAE/GWT project in Eclipse.  Have 
been using Eclipse to build, test (GWT Classic DevMode), and deploy.

With the new live breakpoints, push to deploy, etc., plus dependency 
management, I decided to put converting the project on the table.

I've gotten the following done:

   - Ran m2eclipse conversion.
   - Moved source into Maven-standard directory structure.
   - Maven-available dependencies removed from lib/ folder and added to 
   Maven.
   - Maven Build and Maven Unit Test both succeed.
   - Ran mvn eclipse:eclipse to re-build config, and then re-added GAE SDK 
   to the Java Build Path.
   
I'm still having a few issues, though...

   1. Debugging/running locally causes java.lang.NoClassDefFoundError: 
   javax/mail/MessagingException in the console output.
      1. I have tried with javax.mail dependency included, but I'm 90% sure 
      since it is in the GAE SDK I should not have it explicitly listed.
   2. Once service is running, I get a 404 for both the main application 
   and the admin console.  Presuming this is related to the above, but not 
   100% sure.
   3. There's no good comparison/how-to for this that includes things like 
   .gitignore suggestions.  What do I need to have in the repo for it to work 
   properly?
   4. We use a secondary AppEngine instance for testing "live" before 
   deploying to production.  Is there a way to set the branch for 
   push-to-deploy so we aren't merging back to master in advance of release?
   5. Is there a reason that GWT 2.6.1 is available through Maven, but not 
   through the Google Eclipse repo?
      1. Also (and knowing this is GAE list, not GWT), where do GWT 
      .properties files go for Maven?  Anything I need to convert there?
   
Sorry for some questions that seem a little basic, but this is my first 
dance with Maven, and I'm flying solo on this project.  (My PM is not a 
developer by trade, and my intern doesn't know Maven either.)  I liked that 
using the Eclipse builder "just worked", but we had issues every time a new 
GAE SDK came out getting classpaths on individual machines to cooperate and 
not duplicate jars in lib/.

Trimmed pom.xml:
  <properties>
<appengine.target.version>1.9.15</appengine.target.version>
<gwt.target.version>2.6.1</gwt.target.version>
  </properties>
  <build>
  <pluginManagement>
  <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>          
  <configuration>
  <source>1.7</source>
  <target>1.7</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.6.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>generateAsync</goal>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<runTarget>index.html</runTarget>
</configuration>
</plugin>
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${appengine.target.version}</version>
</plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <archiveClasses>true</archiveClasses>
                <webResources>
                    <!-- in order to interpolate version from pom into 
appengine-web.xml -->
                    <resource>
                        
<directory>${basedir}/src/main/webapp/WEB-INF</directory>
                        <filtering>true</filtering>
                        <targetPath>WEB-INF</targetPath>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
</plugins>
  </build>
  <dependencies>
  <dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-servlet</artifactId>
  <version>${gwt.target.version}</version>
  <scope>runtime</scope>
  </dependency>
  <dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-user</artifactId>
  <version>${gwt.target.version}</version>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-api-1.0-sdk</artifactId>
  <version>${appengine.target.version}</version>
  </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
  <dependency>
  <groupId>com.googlecode.objectify</groupId>
  <artifactId>objectify</artifactId>
  <version>4.1.3</version>
  </dependency>
  <dependency>
  <groupId>com.googlecode.objectify</groupId>
  <artifactId>objectify-gwt</artifactId>
  <version>1.2.1</version>
  </dependency>
  <dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>18.0</version>
  </dependency>
  <dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava-gwt</artifactId>
  <version>18.0</version>
  </dependency>
[...]
<!--    <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>javax.mail-api</artifactId>
  <version>1.4.7</version>
  </dependency> -->
  <!-- Unit Test Dependencies -->
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-testing</artifactId>
        <version>${appengine.target.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-stubs</artifactId>
        <version>${appengine.target.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
    <version>4.11</version>
    </dependency>
  </dependencies>



-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/d/optout.

Reply via email to