Git Product home page Git Product logo

appengine-maven-plugin's Introduction

appengine-maven-plugin

A Maven plugin to support App Engine developers.

A more comprehensive document for users is available at our official Using Apache Maven documentation site.

Apache Maven is a software project management and comprehension tool. It is capable of building war files for deployment into App Engine. The App Engine Maven Plugin can further simplify development beyond what Maven provides. It does so by enabling the following features in Maven.

  • Running the App Engine development application server
  • Deployment of applications to App Engine

To get started, just add the plugin to Maven with:

  <plugin>
      <groupId>com.google.appengine</groupId>
      <artifactId>appengine-maven-plugin</artifactId>
      <version>1.9.84</version>
  </plugin>

Make sure you are using Maven 3.1 or above (the 3.0.x version will not work starting with GAE 1.8.3) Then many goals including appengine:update, appengine:rollback, and appengine:devserver are now available. You can run mvn help:describe -Dplugin=appengine to see all of the available goals. A sample project is hosted on github

A complete sample pom is:

<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>

<groupId>com.google.appengine.demos</groupId>
<artifactId>guestbook</artifactId>

<properties>
    <appengine.target.version>1.9.81</appengine.target.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <!-- Compile/runtime dependencies -->
    <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>

    <!-- Test Dependencies -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.9.0</version>
        <scope>test</scope>
    </dependency>
    <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>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <version>2.5.1</version>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <archiveClasses>true</archiveClasses>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>${appengine.target.version}</version>
        </plugin>
    </plugins>
</build>

If you are using a snapshot version (experimental), you'll need to add the Google Maven snapshot repository to your pom.

<pluginRepositories>
    <pluginRepository>
        <id>google-snapshots</id>
        <name>Google Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/google-snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>false</enabled>
        </releases>
    </pluginRepository>
</pluginRepositories>

appengine-maven-plugin's People

Contributors

averikitsch avatar ifigotin avatar josephburnett avatar ludoch avatar mattstep avatar rrch avatar yanickbelanger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appengine-maven-plugin's Issues

ear file being built twice

I have a project that is setup very similar to this one 
(https://github.com/GoogleCloudPlatform/appengine-modules-sample-java), except 
I just have one war and one 'interfaces' project.

I'm trying to do my build with this:

mvn --projects tick-i,tick-webapp install
cd tick-ear
mvn appengine:update

The first mvn command works just fine. When it comes to the second one 
(appengine:update), things go down hill...

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Voost - interface ................................. SUCCESS [2.710s]
[INFO] Voost - webapp .................................... SUCCESS [1:18.791s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:21.655s
[INFO] Finished at: Tue Sep 10 20:52:57 PDT 2013
[INFO] Final Memory: 35M/415M
[INFO] ------------------------------------------------------------------------
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Voost - ear 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> appengine-maven-plugin:1.8.4:update (default-cli) @ voost-tick-ear 
>>>
Downloading: 
http://repo.maven.apache.org/maven2/st/voo/voost-tick/1.0/voost-tick-1.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.289s
[INFO] Finished at: Tue Sep 10 20:53:01 PDT 2013
[INFO] Final Memory: 8M/128M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project voost-tick-ear: Could not resolve 
dependencies for project st.voo.tick:voost-tick-ear:ear:1.0: Failed to collect 
dependencies at st.voo.tick:tick-webapp:war:1.0: Failed to read artifact 
descriptor for st.voo.tick:tick-webapp:war:1.0: Could not find artifact 
st.voo:voost-tick:pom:1.0 in central (http://repo.maven.apache.org/maven2) -> 
[Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

Now, if I change my build to do something like this:

mvn install
cd tick-ear
mvn appengine:update

Things work just fine.

The problem with that though is that the ear file essentially gets built twice 
if I do that because mvn appengine:update runs the maven-ear-plugin again. I'd 
love to avoid having to do that.

Original issue reported on code.google.com by [email protected] on 11 Sep 2013 at 4:08

Flag to configure blobstore location


We are already using the flag
<jvmFlags>
    <jvmFlag>-Ddatastore.backing_store=${project.basedir}/local_db.bin</jvmFlag>
</jvmFlags>

It would be great to be able to move the blobstore to a custom location (in 
this case the project root) as well

Or if this is already possible please can you add it to the documentation.

Original issue reported on code.google.com by [email protected] on 15 May 2013 at 9:50

looks like 1.8.2 is not available in maven central

[ERROR] No plugin found for prefix 'appengine' in the current project and in 
the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from 
the repositories [local (C:\Users\atrupe\.m2\repository), central 
(http://repo.maven.apache.org/maven2)] -> [Help 1]

Original issue reported on code.google.com by antony.trupe on 17 Jul 2013 at 5:28

Support hotswap functionality

I am not intimately familiar with the way servlet containers are architected, 
so I may be using the wrong words: I apologize.

What steps will reproduce the problem?
1. mvn appengine:devserver
2. update some code
3. mvn compile

What is the expected output?
devserver scans for changed files periodically, and reloads them.

What do you see instead?
need to stop the devserver and start it again for the changes to be seen

Original issue reported on code.google.com by antony.trupe on 12 Mar 2013 at 12:30

Jetty NPE after update on 1.8.1 SDK on Development server

Hello

After update on 1.8.1 (and later 1.8.1.1) SDK and plugin I get the exception in 
develompent environment:
[INFO] Jun 13, 2013 10:50:52 AM com.google.apphosting.utils.jetty.JettyLogger 
warn
[INFO] WARNING: /admin/order/list
[INFO] java.lang.NullPointerException
[INFO]  at 
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Transactio
nCleanupFilter.java:45)
[INFO]  at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.jav
a:1157)
[INFO]  at 
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilte
r.java:125)
[INFO]  at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.jav
a:1157)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerServersFilter.doDirectRequest
(DevAppServerServersFilter.java:369)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerServersFilter.doDirectServerR
equest(DevAppServerServersFilter.java:352)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerServersFilter.doFilter(DevApp
ServerServersFilter.java:115)
[INFO]  at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.jav
a:1157)
[INFO]  at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
[INFO]  at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[INFO]  at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
[INFO]  at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[INFO]  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
[INFO]  at 
com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEn
gineWebAppContext.java:97)
[INFO]  at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[INFO]  at 
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.han
dle(JettyContainerService.java:480)
[INFO]  at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[INFO]  at org.mortbay.jetty.Server.handle(Server.java:326)
[INFO]  at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
[INFO]  at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.ja
va:923)
[INFO]  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
[INFO]  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
[INFO]  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
[INFO]  at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
[INFO]  at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

  * Only development server
  * SDK 1.8.1 English, Ubuntu Linux
  * It was expected web application with spring security
  * I got instead the exception

Libraries which I use:

so web-inf/lib:

aopalliance-1.0.jar                        jackson-annotations-2.2.2.jar        
      spring-context-support-3.2.3.RELEASE.jar   standard-1.1.2.jar
appengine-api-1.0-sdk-1.8.1.jar            jackson-core-2.2.2.jar               
      spring-core-3.2.3.RELEASE.jar              tiles-api-3.0.1.jar
asm-4.0.jar                                jackson-databind-2.2.2.jar           
      spring-expression-3.2.3.RELEASE.jar        
tiles-autotag-core-runtime-1.1.0.jar
commons-beanutils-1.8.0.jar                jboss-logging-3.1.0.CR2.jar          
      spring-jdbc-3.2.3.RELEASE.jar              tiles-core-3.0.1.jar
commons-collections-3.2.1.jar              jcl-over-slf4j-1.7.5.jar             
      spring-orm-3.2.3.RELEASE.jar               tiles-jsp-3.0.1.jar
commons-digester-2.0.jar                   jdo-api-3.0.1.jar                    
      spring-security-acl-3.1.4.RELEASE.jar      tiles-request-api-1.0.1.jar
commons-lang-2.6.jar                       jta-1.1.jar                          
      spring-security-config-3.1.4.RELEASE.jar   tiles-request-jsp-1.0.1.jar
datanucleus-api-jpa-3.1.4.jar              log4j-over-slf4j-1.7.5.jar           
      spring-security-core-3.1.4.RELEASE.jar     tiles-request-servlet-1.0.1.jar
datanucleus-appengine-2.1.2.jar            slf4j-api-1.7.5.jar                  
      spring-security-taglibs-3.1.4.RELEASE.jar  tiles-servlet-3.0.1.jar
datanucleus-core-3.1.5.jar                 slf4j-jdk14-1.7.5.jar                
      spring-security-web-3.1.4.RELEASE.jar      tiles-template-3.0.1.jar
datanucleus-enhancer-3.1.1.jar             spring-aop-3.2.3.RELEASE.jar         
      spring-tx-3.2.3.RELEASE.jar                validation-api-1.0.0.GA.jar
geronimo-jpa_2.0_spec-1.1.jar              spring-beans-3.2.3.RELEASE.jar       
      spring-web-3.2.3.RELEASE.jar               velocity-1.7.jar
hibernate-validator-4.3.0.Final.jar        spring-context-3.2.3.RELEASE.jar     
      spring-webmvc-3.2.3.RELEASE.jar            

And yes the build for run was made with clean (mvn clean appengine:devserver)
Sometimes after start of web application and trying few times refresh some page 
I get just java.lang.OutOfMemoryError: PermGen space

Feel free check out my project from git 
[email protected]:icehockeystar/militaryshop.git

Original issue reported on code.google.com by [email protected] on 20 Jun 2013 at 9:01

java.lang.ClassCircularityError: com/google/apphosting/api/ApiProxy when running appengine:devserver

I'm trying to upgrade from 1.7.4 to latest 1.7.5 but when running 
appengine:devserver I get:

INFO] INFO: Successfully processed 
/Users/marceloverdijk/workspace/mostpopularfc/target/mostpopularfc-0.1-SNAPSHOT/
WEB-INF/appengine-web.xml
[INFO] Feb 20, 2013 12:25:15 PM 
com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
[INFO] INFO: Successfully processed 
/Users/marceloverdijk/workspace/mostpopularfc/target/mostpopularfc-0.1-SNAPSHOT/
WEB-INF/web.xml
[INFO] Exception in thread "main" java.lang.ClassCircularityError: 
com/google/apphosting/api/ApiProxy
[INFO]  at 
com.google.appengine.tools.development.DevAppServerImpl.getCurrentAppContext(Dev
AppServerImpl.java:357)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager
.isDevAppServerThread(DevAppServerFactory.java:340)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager
.checkPermission(DevAppServerFactory.java:284)
[INFO]  at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
[INFO]  at java.io.File.isFile(File.java:827)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerMain$StartAction.findRdbmsPro
pertiesFile(DevAppServerMain.java:413)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerMain$StartAction.setRdbmsProp
ertiesFile(DevAppServerMain.java:395)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevApp
ServerMain.java:329)
[INFO]  at 
com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.
java:269)
[INFO]  at 
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.ja
va:245)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.162s
[INFO] Finished at: Wed Feb 20 12:25:15 CET 2013
[INFO] Final Memory: 29M/361M
[INFO] ------------------------------------------------------------------------

Don't know if this is related to the appengine maven plugin or appengine itself?

Original issue reported on code.google.com by [email protected] on 20 Feb 2013 at 11:32

devserver_stop should not try to recompile the project

What steps will reproduce the problem?
1. Run mvn appengine:devserver_start in a project directory.
2. Edit a Java source file so that it contains a compile error.
3. Run mvn appengine:devserver_stop.

What is the expected output? What do you see instead?
Expected: In step 3, Maven should not try to recompile the project, and the 
devserver should be stopped.
Actual: In step 3, Maven tries to recompile the project and fails.  The 
devserver is not stopped.

What version of the product are you using? On what operating system?
appengine-maven-plugin:1.8.8, Apache Maven 3.1.1, Windows 7 64-bit

Please provide any additional information below.
The plugin indeed seems to specify that devserver_stop executes the 
“package” phase.  See 
https://code.google.com/p/appengine-maven-plugin/source/browse/src/main/java/com
/google/appengine/devappserver/DevAppServerStop.java?r=bec18aa848cc78184fcbb8984
5048574ae3dfec3#14.

Original issue reported on code.google.com by [email protected] on 2 Jan 2014 at 10:30

proxyHost and proxyHttps options do not work.

Using the following configuration options:
<proxyHost>proxy.xxx.com:80</proxyHost> 

produces the following output:

...
[INFO] Retrieving Google App Engine Java SDK from Maven
[INFO] Updating Google App Engine Application
Bad argument: Unknown option: --proxy
usage: AppCfg [options] <action> [<app-dir>] [<argument>]
...

same thing with proxyHttps, which produces:
Bad argument: Unknown option: --proxy_https

Both error messages look weird as later in the output both --proxy and 
--proxy_https are listed as acceptable options.

I get this error launching maven both from the command line and from within 
eclipse.

I tried setting jvm arguments to force the use of a proxy, but it seems that 
appcfg is launched in an separate jvm than the one running maven and I couldn't 
find a way to pass jvm options as for many plugins with a similar design.

Bottom line I didn't find a way to use the plugin from behind my corporate 
proxy.

Also as a separate note I didn't find any page with detailed documentation on 
the options available for this plugin.
These pages:
https://developers.google.com/appengine/docs/java/tools/maven
https://code.google.com/p/appengine-maven-plugin/

are good for a start but incomplete.

Thanks
Raffaele


Original issue reported on code.google.com by [email protected] on 6 Dec 2013 at 3:11

The plugin is incompatible with Maven-3.1.0


The app engine maven plugin doesn't work with Maven-3.1.0.

Maven-3.1.0 release note[1] says:

But this is a significant change and is likely to cause issues in any plugin 
that depends on the now deprecated Sonatype Aether.

Probably we should contact maven guys to update this list[2].

1: http://maven.apache.org/docs/3.1.0/release-notes.html
2: https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound

Original issue reported on code.google.com by [email protected] on 15 Jul 2013 at 11:51

1.7.5 seems to have lagging 1.7.4 dependencies

What steps will reproduce the problem?
1. delete the maven folder `rm ~/.m2`
2. update an appengine-maven-plugin project to appspot to trigger dependencies 
downloading `mvn appengine:update`

What is the expected output? What do you see instead?

Expected output is that maven only downloaded 1.7.5 artifacts.

Instead, the following hierarchy can be observed in the .m2 folder:

mog@becca:~/.m2/repository/com/google$ tree -L 2 appengine/
appengine/
├── appengine
│   ├── 1.7.4
│   └── 1.7.5
├── appengine-api-1.0-sdk
│   └── 1.7.5
├── appengine-api-stubs
│   └── 1.7.5
├── appengine-java-sdk
│   └── 1.7.5
├── appengine-maven-plugin
│   └── 1.7.5
├── appengine-testing
│   └── 1.7.5
└── appengine-tools-sdk
    └── 1.7.4

What version of the product are you using? On what operating system?
I do not have my original computer here to check but it's a debian 7 with 
default packaged maven installation.

Please provide any additional information below.

Here is a link to the original Stack Overflow question: 
http://stackoverflow.com/questions/15112319/appengine-maven-plugin-1-7-5-seems-t
o-have-incomplete-java7-support-because-of-l

The direct consequence of this dependencies problem seems to be a non complete 
java 7 support, although the original problem might have come from something 
else entirely.

Original issue reported on code.google.com by [email protected] on 5 Mar 2013 at 7:12

doesn't work with eclipse

What steps will reproduce the problem?

1. Download attached super simple maven war project
2. cd into error-webapp folder
3. mvn appengine:devserver

What is the expected output?

A proper startup sequence.

What do you see instead?

weird stacktraces. something is wrong with using guice.
https://gist.github.com/lookfirst/4b8e54c02598dce903a9

What version of the product are you using? On what operating system?

appengine 1.8.2. JDK 1.7.0_25 (Oracle). OSX 10.8.3 mvn 3.0.5

Please provide any additional information below.

I'd love it if you could fix this.

Original issue reported on code.google.com by [email protected] on 7 Aug 2013 at 5:05

Attachments:

Windows Eclipse: jvm flag -Ddatastore.default_high_rep_job_policy_unapplied_job_pct does not work

My development environment is Windows 7 x64 with Eclipse Kepler x64

What steps will reproduce the problem?
1. Open the guestbook archetype
2. Run unit tests and note the console indicates Master/Slave datastore:

com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized: 
    Type: Master/Slave
    Storage: In-memory

3. Modify pom.xml

<plugin>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-maven-plugin</artifactId>
  <version>${appengine.target.version}</version>
  <configuration>
    <jvmFlags>
      <jvmFlag>-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20</jvmFlag>
    </jvmFlags>
  </configuration>
</plugin>

4. Run unit tests again and note the console still indicates Master/Slave:

com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized: 
    Type: Master/Slave
    Storage: In-memory

5. Sanity check by adding datastore configs to the LocalServiceTestHelper(s)

new 
LocalDatastoreServiceTestConfig().setDefaultHighRepJobPolicyUnappliedJobPercenta
ge(20)

6. Run tests again and see that they pass with the console indicating High 
Replication

com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized: 
    Type: High Replication
    Storage: In-memory

I use cross-group transactions, so I need the local datastore to run in High 
Replication mode. The LocalDatastoreServiceTestConfig is a workaround for my 
tests but I still can not run in Debug mode to test my client.

Thanks for your help.

Extra note: jvm flags -Xdebug and 
-Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=y work as expected

Original issue reported on code.google.com by [email protected] on 11 Sep 2013 at 3:37

Add support for endpoints to Maven plugin

Hi,

I don't see any support in 1.7.5 for generating the App Engine Endpoints 
"stuff" via the Maven plugin.  Please can it have support e.g. 
appengine:generate_endpoints ?

sdk-install-dir/bin/endpoints.sh get-java-client-lib your-full-class-name

Thanks.

Original issue reported on code.google.com by [email protected] on 17 Mar 2013 at 11:12

[appengine:update:version] Version override to update war doesn't have any affect

What steps will reproduce the problem?
1.  Use the maven plugin 
(https://developers.google.com/appengine/docs/java/tools/maven) to update war 
to google app engine. Set the appengine-version.xml to 3.
2. In the project appengine-web.xml the value of version is
  <version>3</version>
3. command executed :
mvn appengine:update -Dversion=4


What is the expected output? What do you see instead?
Appengine dashboard should show that version 4 got uploaded. In my case a 
version 3 had been uploaded before sometime back and a version 4 had never been 
uploaded. However after the command executes successfully, when I looked at the 
appengine dashboard, no app version 4 showed up. However version 3 was 
overwritten and next to it, it says: Deployed 0:00:19 ago by [email protected]

Today I thought I could be supplying incorrect command line arguments.
I tried the following but the result was the same:

mvn appengine:update -Dappengine.update.version=5


What version of the product are you using? On what operating system?
OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac"
Maven : Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800)
Java version: 1.6.0_43, vendor: Apple Inc.
appengine-maven-plugin : 1.7.5

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 17 Mar 2013 at 9:32

  • Merged into: #14

NoClassDefFoundError exception with test about JPA on appengine with appengine-maven-plugin

What steps will reproduce the problem?
1. I first tested this tutorial in order to use JPA on appengine 
http://www.pakzilla.com/2009/12/13/tutorial-jpa-on-google-app-engine/

2. I then create a maven projet with skeleton-archetype from 
https://developers.google.com/appengine/docs/java/tools/maven

3. I finally integrated the appengine-maven-plugin and dependencies for 
datanucleus.
ref: http://www.datanucleus.org/products/datanucleus/jpa/maven.html

4. I have a problem with the classpath because when I run wepapp the following 
error exceptions occur.
java.lang.NoClassDefFoundError: Could not initialize class 
com.engineplay.datastore.EMFService
java.lang.ExceptionInInitializerError

What is the expected output? What do you see instead?
no exception is expected

What version of the product are you using? On what operating system?
appengine-maven-plugin-1.8.0

Please provide any additional information below.
in attachment my project archives

Original issue reported on code.google.com by [email protected] on 31 Jul 2013 at 5:31

Attachments:

ClassNotFoundException: com.mysql.jdbc.Driver using appengine:devserver with cloud sql

What steps will reproduce the problem?
1. Using latest snapshot version of plugin set jvmargs for cloud sql 
rdbms.driver etc as described here 
https://developers.google.com/appengine/docs/java/cloud-sql/developers-guide?hl=
en#using_the_java_development_server

2. Attempt to make a connection

What is the expected output? What do you see instead?
Expect the MySQL driver to be loaded and a connection returned but instead I 
see this stacktrace

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[INFO]  at  
com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.registerDriver(L
ocalRdbmsServiceLocalDriver.java:95)
[INFO]  at 
com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.init(LocalRdbmsS
erviceLocalDriver.java:73)
[INFO]  at 
com.google.appengine.api.rdbms.dev.LocalRdbmsService.init(LocalRdbmsService.java
:85)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl.startServices(ApiProxyL
ocalImpl.java:612)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl.access$700(ApiProxyLoca
lImpl.java:46)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl$2.run(ApiProxyLocalImpl
.java:595)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl$2.run(ApiProxyLocalImpl
.java:592)
[INFO]  at java.security.AccessController.doPrivileged(Native Method)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl.getService(ApiProxyLoca
lImpl.java:591)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl.resolveDeadline(ApiProx
yLocalImpl.java:239)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl.doAsyncCall(ApiProxyLoc
alImpl.java:219)
[INFO]  at 
com.google.appengine.tools.development.ApiProxyLocalImpl.makeSyncCall(ApiProxyLo
calImpl.java:150)
[INFO]  at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:111)
[INFO]  at 
com.google.appengine.api.rdbms.RdbmsApiProxyClient$ApiProxyBlockingInterface.mak
eSyncCall(RdbmsApiProxyClient.java:93)
[INFO]  at 
com.google.appengine.api.rdbms.RdbmsApiProxyClient$ApiProxyBlockingInterface.ope
nConnection(RdbmsApiProxyClient.java:71)
[INFO]  at 
com.google.cloud.sql.jdbc.internal.SqlProtoClient.openConnection(SqlProtoClient.
java:58)
[INFO]  at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:66)
[INFO]  at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:26)
[INFO]  at java.sql.DriverManager.getConnection(DriverManager.java:582)
[INFO]  at java.sql.DriverManager.getConnection(DriverManager.java:185)

What version of the product are you using? On what operating system?
Using the 1.7.5-SNAPSHOT on OSX

Please provide any additional information below.
mysql-connector-java is a dependancy on both my war and the plugin. The 
connector jar file is correctly copied to the WEB-INF/lib directory.

I tried hacking the jvargs config to pass the jar on the -classpath but that 
didn't seem to work either.


Original issue reported on code.google.com by [email protected] on 5 Feb 2013 at 1:39

Refresh the HTML/JS static files without needing a mvn:package command

What steps will reproduce the problem?
1. Create a project using HTML and JS files
2. Run mvn:devserver
3. Change the content of a JS or HTML file

What is the expected output? What do you see instead?
-- I would really like to be able to refresh the browser's page and directly 
see the result of my HTML changes
-- Instead, I need to run a mvn package command so that the files in the target 
folder are updated

Is there any solution for this ? Is this on the roadmap ?

Best regards,
David

Original issue reported on code.google.com by [email protected] on 1 Jul 2013 at 5:18

NoSuchElementException when executing maven goal with <pluginManagement> tag in pom.xml

What steps will reproduce the problem?
1. use <pluginManagement> tag in pom.xml
2. run $ mvn appengine:devserver

What is the expected output? What do you see instead?
The issue causes the maven goal is not executed successfully.
It encountered the following error (see attached error.log for more info)
[ERROR] Failed to execute goal 
com.google.appengine:appengine-maven-plugin:1.8.5:devserver (default-cli) on 
project appengine-maven-template: Execution default-cli of goal 
com.google.appengine:appengine-maven-plugin:1.8.5:devserver failed.
NoSuchElementException -> [Help 1]


What version of the product are you using? On what operating system?
appengine-maven-plugin:1.8.5

Please provide any additional information below.
I tried to debug, at first look, I suspect SdkResolver couldn't resolve 
appengine-maven-plugin.


Original issue reported on code.google.com by [email protected] on 8 Oct 2013 at 7:19

Attachments:

Stop development server process when terminating

What steps will reproduce the problem?
1. Deploy an application using m2e in Eclipse with the appengine:devserver goal.
2. Terminate the application in the Eclipse console view.

What is the expected output? What do you see instead?
The development server is still running. I would expect it to terminate.

What version of the product are you using? On what operating system?
1.7.4 and 1.7.5-SNAPSHOT. Windows 8 x64.

Running the maven goal launches two java processes, one of them belonging to 
the Jetty server. When clicking on terminate in the eclipse console view, 
however, the Jetty process is not terminated. Running the application again, 
launches an additional Jetty process and so on.

Original issue reported on code.google.com by [email protected] on 22 Feb 2013 at 1:30

Add configration options for tasks

The current plugin does not support setting configuration options at the moment.

The things I'm missing so far:
- setting jvm flags (for e.g. setting javaagent, setting system properties 
related to datastore like 
datastore.default_high_rep_job_policy_unapplied_job_pct)
- disabling update check (useful when working offline)

Without these kind of configuration options the plugin in it's current state is 
useless, and we have to go back to unofficale net.kindleit plugin.

See also this discussion on stackoverflow: 
http://stackoverflow.com/questions/13915341/appengine-maven-plugin-configuration
-options-like-jvm-flags

Original issue reported on code.google.com by marceloverdijk on 18 Dec 2012 at 10:13

Goal for dispatch.xml

I want to be able to update the dispatch.xml from a maven goal, one similar to 
update_indexes

When i deploy i get:
Skipping dispatch.xml - consider running "appcfg.sh update_dispatch <war-dir>"

I am using version 1.9.0 of the maven plugin

Original issue reported on code.google.com by [email protected] on 3 Mar 2014 at 2:05

1.7.6 isn't available on maven repos

It seems that the complete 1.7.6 stack is available on search.maven.org but the 
appengine-maven-plugin artifact. Is there a way to still download it?

Original issue reported on code.google.com by [email protected] on 21 Mar 2013 at 5:00

Cannot use appengine-maven-plugin 1.8.3 on Jenkins since Maven 3.1.0 is unsupported

We cannot use appengine-maven-plugin 1.8.3 on Jenkins since Maven 3.1.0 is 
still unsupported. Is there a way to use version 1.8.3 of the Maven plugin that 
works with an older version of Maven?

What steps will reproduce the problem?
* Run appengine:update goal with appengine-maven-plugin 1.8.3 on Jenkins with 
Maven 3.1.0

What is the expected output? What do you see instead?
* Either appengine-maven-plugin 1.8.3 should work on Jenkins with Maven 3.1.0. 
Or the plugin should work with an older version of Maven that is supported by 
Jenkins.

What version of the product are you using? On what operating system?
* 1.8.3 on Ubuntu Linux 

Please provide any additional information below.

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:3
31)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at 
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.j
ava:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoClassDefFoundError: 
org/apache/maven/cli/MavenLoggerManager at 
org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73)
... 18 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.maven.cli.MavenLoggerManager
at 
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstSt
rategy.java:50)
at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
... 19 more
channel stopped
ERROR: Failed to parse POMs
hudson.util.IOException2: java.lang.reflect.InvocationTargetException
at hudson.maven.Maven3Builder.call(Maven3Builder.java:152)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at 
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.j
ava:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:161)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)
... 10 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:3
31)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
... 11 more
Caused by: java.lang.NoClassDefFoundError: 
org/apache/maven/cli/MavenLoggerManager
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73)
... 18 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.maven.cli.MavenLoggerManager
at 
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstSt
rategy.java:50)
at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
... 19 more

Original issue reported on code.google.com by [email protected] on 20 Aug 2013 at 6:20

Delay when starting Google Appengine devserver

What steps will reproduce the problem?
1. Run mvn appengine:devserver on a system, where the devserver is currently 
stopped.

What is the expected output? What do you see instead?
Expected: Devserver should start immediately.
Instead: The plugin waits for a connection timeout, because it tries to shut 
down the not running devserver before starting.

What version of the product are you using? On what operating system?
1.8.6
Mac OS X 10.9
Java 1.7.0u45

Please provide any additional information below.
The reason is the class AbstractDevAppServerMojo, line 219:

connection.getOutputStream().write(0);

In order to resolve this issue, the connection timeout can be set to 1000 
before, which should usually be no problem, because the devserver runs on the 
same machine.
If it should not be changed by default, at least a connectionTimeout 
configuration property would be nice.

Original issue reported on code.google.com by [email protected] on 27 Oct 2013 at 2:05

Jenkins-CI support?

How can I pass my google-credentials when I run the 'appengine:update' command 
with a jenkins-job?
Are there an plans/options for this usecase?

Original issue reported on code.google.com by [email protected] on 20 Dec 2012 at 7:56

Support for Integration Test such as Selenium

With the unofficial kindleit maven plugin we run Integration test with selenium 
using the  gae:start command that starts an instance of the local server in the 
pre-integration-test phase and then continues to the integration phase where we 
run selenium test. 

The Official Maven Plugin supports starting a local instance but has no goal 
that hands off to the integration phase. I will try to create a workaround in 
our pom for this but it would be great to have this added to the official maven 
plugin.

Original issue reported on code.google.com by [email protected] on 10 Jan 2013 at 5:46

Contributing

What are the guidelines for contributing to this project? Fork, modify, and 
create patch for Rietveld?

Original issue reported on code.google.com by [email protected] on 25 Feb 2013 at 1:04

Provide expression values for @paramter

Hi Matt

Based on the code in com.google.appengine.AbstractAppCfgMojo, it's not yet 
possible to specify those parameters from the CLI, such as 'mvn 
appengine:update -Dappengine.appId=MyApplicationId' or the like. As we rely on 
scripts in our environment, we'd love to see this functionality.

Did you plan on adding this anytime soon? As far as I can tell, this would be 
relatively easy to achieve by extending the @parameter values.

I've attached AbstractAppCfgMojo.java with *some* of those @parameter values 
adjusted.

- Chris

Original issue reported on code.google.com by [email protected] on 6 Mar 2013 at 10:43

Attachments:

devserver doesn't stop with devserver_stop in Windows

When I run devserver_stop on Windows, it reports success but the process 
remains active and I have to run it manually. I've tried on Windows 2012 server 
and Windows 7 (both 64-bit) with the same result. We use a different port than 
the default but I've tried both ways. Works fine on my Mac.

End of the log says:

[INFO] 
[INFO] <<< appengine-maven-plugin:1.8.1.1:devserver_stop (default-cli) @ bam <<<
[INFO] 
[INFO] --- appengine-maven-plugin:1.8.1.1:devserver_stop (default-cli) @ bam ---
[INFO] 
[INFO] Google App Engine Java SDK - Stopping the Development Server
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:08.748s
[INFO] Finished at: Thu Jul 04 09:30:27 EDT 2013
[INFO] Final Memory: 38M/630M
[INFO] ------------------------------------------------------------------------



Original issue reported on code.google.com by [email protected] on 4 Jul 2013 at 1:31

Specify the location of the war folder from pom.xml

The current plugin(1.7.5) does not support war folder setting on exec `mvn 
appengine:devserver` .
I modified resource in src/main/webapp (e.g. index.html...) but it is not 
reflect quickly on browser.
By running the dev server with ./target/hoge-version , I want to really being 
run in src/main/webapp .

I'm nice That way, Maven and Java is installed, GAE dev server will running 
without the need to do any other works.
I want to say "If you exec magic command `mvn appengine:devserver`, you can 
start development and editing on your local machine just now." for designer.

In my opinion about plugin configuration.
<configuration>
    <warDir>src/main/webapp</warDir>
    <useJava7>true</useJava7>
    <port>8888</port>
</configuration>

The relevant code.
https://code.google.com/p/appengine-maven-plugin/source/browse/src/main/java/com
/google/appengine/DevAppServerRunner.java#117

Regards.

Original issue reported on code.google.com by [email protected] on 8 Mar 2013 at 6:14

Maven enhance goal fails because of DataNucleus - "The command line is too long."

- What steps will reproduce the problem?
run mvn appengine:enhance on project with jars in class path long enough to 
exceed windows command line limit.

- What version of the product are you using? On what operating system?
appengine-maven-plugin v1.8.8.
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 
17:22:22+0200)
Java version: 1.7.0_25, vendor: Oracle Corporation
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

- Please provide any additional information below.
This is actually problem with DataNucleus described here 
http://code.google.com/p/vosao/issues/detail?id=47 but making the long story 
short:
==============QUOTE==============
Problem

CreateProcess error=87 when running DataNucleus tools under Microsoft Windows 
OS.

Windows has a command line length limitation, between 8K and 64K characters 
depending
on the Windows version, that may be triggered when running tools such as the 
Enhancer
or the SchemaTool with too many arguments.

Solution

When running such tools from Maven or Ant, disable the fork mechanism by 
setting the
option fork="false". 
==============END==============

The solution is to set <fork>false</fork> in configuration section for 
datanucleus-maven-plugin, but since appengine-maven-plugin runs datanucleus on 
behalf, it would be good to have this fork setting covered by appengine plugin 
similar like for enhancerApi.

Just for the completes, this is not blocking problem. I've checked the 
datanucleus plugin source code and it's enough to set the following in pom to 
workaround this:

<properties>
    <fork>false</fork>
</properties>

However, settings may vary from datanucleus release to release. I think it 
would be good idea to update appengine plugin with something similar like 
attached code changes.

Original issue reported on code.google.com by [email protected] on 4 Jan 2014 at 11:21

Attachments:

Enhancement: specify generated_dir on devserver startup

We should be able to specify optional --generated_dir devserver command line 
argument when starting devserver.

One should be able to set this variable outsite maven target directory, so that 
data can retain during multiple maven clean runs.

Attached patch implements this enhancement (you probably want to set it to 
${user.home}/.appengine/generated/${project.artifactId}).


Original issue reported on code.google.com by [email protected] on 23 Apr 2013 at 10:13

Attachments:

Maven site generation

It would be nice to have a generated site like most maven plugins (For example: 
http://maven.apache.org/plugins/maven-compiler-plugin/index.html).

This would make looking up goals and parameters easier for those used to maven 
and also would make it so that you don't have to sync the documentation with 
the current version of the plugin for each release (it would be auto-generated).

Original issue reported on code.google.com by [email protected] on 6 Aug 2013 at 8:26

Proxy configuration incorrect? Bad argument: Unknown option: --proxy_host

I'm trying to provide my http(s) proxy using the configuration element like:

            <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>1.8.0</version>
                <configuration>
                    <disableUpdateCheck>true</disableUpdateCheck>
                    <proxyHost>http://somehost:8080</proxyHost>
                    <proxyHttps>http://somehost:8080</proxyHttps>
                </configuration>
            </plugin>

but when updating I get:

[DEBUG] Configuring mojo 
'com.google.appengine:appengine-maven-plugin:1.8.0:update' with basic 
configurator -->
[DEBUG]   (f) oauth2 = true
[DEBUG]   (f) pluginRepos = [central (http://repo.maven.apache.org/maven2, 
releases)]
[DEBUG]   (f) project = MavenProject: com.myproject:0.1-SNAPSHOT @ 
C:\java\workspace\myproject\pom.xml
[DEBUG]   (f) projectRepos = [central (http://repo.maven.apache.org/maven2, 
releases)]
[DEBUG]   (f) proxyHost = http://somehost:8080
[DEBUG]   (f) proxyHttps = http://somehost:8080
[DEBUG]   (f) repoSession = 
org.sonatype.aether.util.DefaultRepositorySystemSession@26c5f44e
[DEBUG] -- end configuration --
[INFO]
[INFO] Google App Engine Java SDK - Updating Application
[INFO]
[INFO] Retrieving Google App Engine Java SDK from Maven
[INFO] Updating Google App Engine Application
Bad argument: Unknown option: --proxy_host
usage: AppCfg [options] <action> [<app-dir>] [<argument>]

Original issue reported on code.google.com by [email protected] on 16 May 2013 at 11:28

Maven enhance goal gives java.lang.NoClassDefFoundError

I'm trying to enhance a domain class which has an EntityListener with JPA 
Lifecycle Events.
These events use the AppEngine Search API to store documents in search index 
after persisting the entity.

When I run the enhance goal I get an exception that the Search API classes 
cannot be found. 
But off course I have a dependency to these classes in my pom.xml:

<dependency>
    <groupId>com.google.appengine</groupId>
    <artifactId>appengine-api-1.0-sdk</artifactId>
    <version>${com.google.appengine.version}</version> <!-- 1.7.7.1 -->
</dependency>

A normal mvn compile gives a successful build.

Below the result of enhance goal:

Marcels-MacBook-Air:myproject marceloverdijk$ mvn clean compile 
appengine:enhance
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building kapsalonrefection 0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ kapsalonrefection 

---
[INFO] Deleting /Users/marceloverdijk/workspace/myproject/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ 
kapsalonrefection ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] 
[INFO] --- jrebel-maven-plugin:1.1.3:generate (generate-rebel-xml) @ 
kapsalonrefection ---
[INFO] Processing nl.myproject:myproject with packaging war
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ myproject ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 10 source files to 
/Users/marceloverdijk/workspace/myproject/target/classes
[INFO] 
[INFO] --- aspectj-maven-plugin:1.4:compile (default) @ myproject ---
[WARNING] advice defined in 
org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect has not been 
applied [Xlint:adviceDidNotMatch]
[WARNING] advice defined in 
org.springframework.scheduling.aspectj.AbstractAsyncExecutionAspect has not 
been applied [Xlint:adviceDidNotMatch]
[WARNING] advice defined in 
org.springframework.mock.staticmock.AnnotationDrivenStaticEntityMockingControl 
has not been applied [Xlint:adviceDidNotMatch]
[WARNING] advice defined in 
org.springframework.mock.staticmock.AbstractMethodMockingControl has not been 
applied [Xlint:adviceDidNotMatch]
[WARNING] advice defined in 
org.springframework.mock.staticmock.AbstractMethodMockingControl has not been 
applied [Xlint:adviceDidNotMatch]
[INFO] 
[INFO] --- appengine-maven-plugin:1.7.7.1:enhance (default-cli) @ myproject ---
[INFO] DataNucleus Enhancer (version 3.2.2) for API "JPA" using JRE "1.7"
DataNucleus Enhancer : Classpath
>>  
/Users/marceloverdijk/.m2/repository/org/datanucleus/maven-datanucleus-plugin/3.
2.0-m1/maven-datanucleus-plugin-3.2.0-m1.jar
>>  
/Users/marceloverdijk/.m2/repository/org/datanucleus/datanucleus-api-jpa/3.2.0-m
1/datanucleus-api-jpa-3.2.0-m1.jar
>>  
/Users/marceloverdijk/.m2/repository/org/datanucleus/datanucleus-core/3.2.2/data
nucleus-core-3.2.2.jar
>>  
/Users/marceloverdijk/.m2/repository/javax/jdo/jdo-api/3.0.1/jdo-api-3.0.1.jar
>>  /Users/marceloverdijk/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar
>>  
/Users/marceloverdijk/.m2/repository/org/apache/geronimo/specs/geronimo-jpa_2.0_
spec/1.0/geronimo-jpa_2.0_spec-1.0.jar
>>  /Users/marceloverdijk/.m2/repository/org/ow2/asm/asm/4.1/asm-4.1.jar
>>  
/Users/marceloverdijk/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.8/plex
us-utils-3.0.8.jar
>>  
/Users/marceloverdijk/.m2/repository/org/codehaus/plexus/plexus-component-annota
tions/1.5.5/plexus-component-annotations-1.5.5.jar
>>  
/Users/marceloverdijk/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.3.0/si
su-inject-bean-2.3.0.jar
>>  
/Users/marceloverdijk/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-gui
ce-3.1.0-no_aop.jar
>>  
/Users/marceloverdijk/.m2/repository/org/sonatype/sisu/sisu-guava/0.9.9/sisu-gua
va-0.9.9.jar
>>  
/Users/marceloverdijk/.m2/repository/org/apache/xbean/xbean-reflect/3.4/xbean-re
flect-3.4.jar
>>  /Users/marceloverdijk/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar
>>  
/Users/marceloverdijk/.m2/repository/commons-logging/commons-logging-api/1.1/com
mons-logging-api-1.1.jar
>>  
/Users/marceloverdijk/.m2/repository/com/google/collections/google-collections/1
.0/google-collections-1.0.jar
>>  /Users/marceloverdijk/.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar
>>  /Users/marceloverdijk/workspace/myproject/target/classes

[ERROR] --------------------
[ERROR]  Standard error from the DataNucleus tool + 
org.datanucleus.enhancer.DataNucleusEnhancer :
[ERROR] --------------------
[ERROR] Exception in thread "main" java.lang.NoClassDefFoundError: 
com/google/appengine/api/search/Index
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
    at java.lang.Class.getDeclaredMethods(Class.java:1808)
    at org.datanucleus.api.jpa.metadata.JPAMetaDataManager.populateListenerMethodsForClassInEventListener(JPAMetaDataManager.java:246)
    at org.datanucleus.api.jpa.metadata.JPAMetaDataManager.populateListenerMethodsForEventListener(JPAMetaDataManager.java:233)
    at org.datanucleus.api.jpa.metadata.JPAMetaDataManager.postProcessClassMetaData(JPAMetaDataManager.java:130)
    at org.datanucleus.api.jpa.metadata.JPAMetaDataManager.registerFile(JPAMetaDataManager.java:217)
    at org.datanucleus.metadata.MetaDataManager.loadAnnotationsForClass(MetaDataManager.java:2728)
    at org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java:521)
    at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:737)
    at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:513)
    at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1281)
Caused by: java.lang.ClassNotFoundException: 
com.google.appengine.api.search.Index
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 12 more

[ERROR] --------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.796s
[INFO] Finished at: Mon May 06 21:51:29 CEST 2013
[INFO] Final Memory: 32M/360M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
com.google.appengine:appengine-maven-plugin:1.7.7.1:enhance (default-cli) on 
project myproject: Could not execute datanucleus enhancer. The DataNucleus tool 
org.datanucleus.enhancer.DataNucleusEnhancer exited with a non-null exit code. 
-> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException


The appengine maven plugin is configured as:

            <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>${com.google.appengine.version}</version>
                <configuration>
                    <disableUpdateCheck>true</disableUpdateCheck>
                    <jvmFlags>
                        <jvmFlag>-javaagent:${env.REBEL_HOME}/jrebel.jar</jvmFlag>
                        <jvmFlag>-Ddatastore.backing_store=${project.basedir}/local_db.bin</jvmFlag>
                        <jvmFlag>-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20</jvmFlag>
                    </jvmFlags>
                </configuration>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

I wonder if there is something wrong with the classpath which is used by the 
enhance goal?

Original issue reported on code.google.com by [email protected] on 6 May 2013 at 8:07

appengine-maven-plugin 1.7.6 POM is missing

What steps will reproduce the problem?
1. Create a Maven project using the 1.7.6 version of the appengine-maven-plugin
2. Attempt to execute the appengine:devserver target

What is the expected output? What do you see instead?
One would expect the devserver to run as with the 1.7.5 plugin.  Instead the 
following message is displayed:

[WARNING] The POM for com.google.appengine:appengine-maven-plugin:jar:1.7.6 is 
missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for 
com.google.appengine:appengine-maven-plugin:1.7.6: Plugin 
com.google.appengine:appengine-maven-plugin:1.7.6 or one of its dependencies 
could not be resolved: Failed to read artifact descriptor for 
com.google.appengine:appengine-maven-plugin:jar:1.7.6
Downloading: 
http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-metadata.xml
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloaded: 
http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-metadata.xml (11 
KB at 99.8 KB/sec)
Downloaded: http://repo1.maven.org/maven2/org/codehaus/mojo/maven-metadata.xml 
(22 KB at 166.6 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.887s
[INFO] Finished at: Mon Apr 15 11:04:58 PDT 2013
[INFO] Final Memory: 9M/115M
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'appengine' in the current project and in 
the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from 
the repositories [local (/Users/jamey/.m2/repository), central 
(http://repo1.maven.org/maven2)] -> [Help 1]

What version of the product are you using? On what operating system?
Moving from 1.7.5 to 1.7.6 (to 1.7.7) on Mac OS 10.8.3.

Please provide any additional information below.
Plugin version 1.7.5 works like a charm, 1.7.7 doesn't have this problem but 
also won't server any data from the devserver (I'll file another issue for 
that).


Original issue reported on code.google.com by [email protected] on 15 Apr 2013 at 6:13

appengine-maven-plugin should support basic version management features

We are using six different environments for our app. In five of them every 
deploy creates a new version of the app. As an additional step after a each 
deployment, a developer has to
(1) change the default version and
(2) potentially remove an old version (since there can be only up to 10 
versions).

I would like to automate 1+2 as part of our deploy process. Can this be done 
through the appengine-maven-plugin? I have not seen this functionality in 
appCfg.sh yet. All teams using CI servers with automated deployments would 
benefit from a feature like this.

Original issue reported on code.google.com by [email protected] on 15 Aug 2013 at 10:06

appengine:devserver target runs but devserver will serve no data

What steps will reproduce the problem?
1. Create a maven project with appengine-maven-plugin 1.7.7
2. Execute the appengine:devserver target
3. Attempt to access even a static image from your devserver

What is the expected output? What do you see instead?
I would expect normal HTTP responses with content.  Instead I see a ~10-second 
delay followed by an HTTP 500 error with the following message (apparently 
originating from BackendServersFilter.java):

"Got request to server -1.default but the instance is busy."


What version of the product are you using? On what operating system?
1.7.5 moving to 1.7.7.  Mac OS 10.8.3.


Please provide any additional information below.

1.7.5 works like a charm, due to issue 22 (previously filed by me) I cannot 
test 1.7.6 and determine if this possible regression was introduced in that 
version or in 1.7.7.  My Maven POM specifies the appengine 1.7.7 dependencies 
for my project but I currently must continue to use the 1.7.5 version of the 
Maven plugin due to this issue.  I suppose it's possible that the 1.7.5 plugin 
is forcing use of the 1.7.5 devserver thus I'm not actually testing the 1.7.7 
appengine devserver when using the 1.7.5 Maven plugin and the actual issue 
isn't with the 1.7.7 plugin but rather with the 1.7.7 appengine devserver 
itself.  You folks would know better than I.  Thanks for the help.  

Original issue reported on code.google.com by [email protected] on 15 Apr 2013 at 6:23

Add a "skip" parameter

With multi modules projects, you have to perform two commands to run devserver 
or update :
- mvn install on the parent to build the various modules
- mvn appengine:update on the ear module

It much faster to have only one command to run, and which would not require 
installing the other projects. One solution would be to add a "skip" parameter 
to the plugin so that we can add <skip>true</skip> to the non-ear modules.

Original issue reported on code.google.com by [email protected] on 17 Nov 2013 at 2:51

module start and stop is not supported

Module start and stop, corresponding to commands start and stop of appcfg are 
not currently supported.
I attached a class to enable a rudimental support of these command (the start 
command can be implemented likewise).
The proposed solution is not ideal because it forces you to launch the command 
on individual modules when all other commands are typically launched against 
the ear project which includes all the modules.
It seems to me that the most logical use case is to launch start and stop 
commands against the ear project and start/stop all the modules. But this is 
not natively supported by appcfg.

Thanks
Raffaele


Original issue reported on code.google.com by [email protected] on 4 Jan 2014 at 8:53

Attachments:

Store email and password in ~/.m2/Settings.xml

Is it possible to store the email and password in ~/.m2/settings.xml for use 
with automated deployments?

If this or is not possible, would it be possible to add this to the wiki?

Nice job and thanks,
Brandon Donnelson




Original issue reported on code.google.com by [email protected] on 26 Jan 2013 at 6:54

-o isn't taken into account when launching the devserver (still checks for updates)

What steps will reproduce the problem?
1. have some sort of proxy or don't be connected to the Internet
2. use mvn -o appengine:devserver

What is the expected output? What do you see instead?
The expected output would be a devserver that is launched with no update 
checking since the -o switch is on.

Instead, it lags for quite some time until a java.net.ConnectException: 
Connection timed out appears.

What version of the product are you using? On what operating system?
appengine-maven-plugin 1.7.6
maven 3
debian 7

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 12 Apr 2013 at 7:59

Debug goal

What steps will reproduce the problem
1. Adding a maven goal like appengine:debug 

What version of the product are you using? On what operating system?
1.7.4

Original issue reported on code.google.com by [email protected] on 24 Jan 2013 at 8:11

Contribution guidelines

What are the contribution guidelines for this project?

I see a few issues that could be fixed easily. Opening some sort of pull 
requests would be handy.

Is that possible? 


Original issue reported on code.google.com by [email protected] on 6 Nov 2013 at 7:12

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.