dzelemba
dzelemba

Reputation: 188

AppEngine Maven Plugin jarSplittingExcludes

I'm trying to include the stanford-corenlp library into my AppEngine application, but am running into "JAR too big" errors when uploading:

com.google.appengine.tools.admin.LocalIOException: Jar.../stanford-corenlp-3.3.0-models.jar is too large. Consider using --enable_jar_splitting.
Unable to update app: Jar /tmp/appcfg4516706702870427847.tmp/WEB-INF/lib/stanford-corenlp-3.3.0-models.jar is too large. Consider using --enable_jar_splitting.

As suggested, I tried the enable_jar_splitting option, but some individuals files were too large and those can't be split. Looking through the plugin docs I found:

jarSplittingExcludes
  User property: appengine.jarSplittingExcludes
  When --enable-jar-splitting is set, files that match the list of comma
  separated SUFFIXES will be excluded from all jars.

So I tried to exclude some of the large files that I'm not using with this pom.xml:

  <plugin>
    <groupId>com.google.appengine</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    <version>${appengine.target.version}</version>
    <configuration>
        <enableJarSplitting>true</enableJarSplitting>
        <jarSplittingExcludes>englishRNN.ser.gz</jarSplittingExcludes>
    </configuration>
  </plugin>

However, now when I run

mvn appengine:update

I get:

[INFO] Updating Google App Engine Application
Bad argument: Unknown option: --jar_splitting_excludes
usage: AppCfg [options] <action> [<app-dir>] [<argument>]
...
options:
....
 --enable_jar_splitting
                    Split large jar files (> 10M) into smaller fragments.
 --jar_splitting_excludes=SUFFIXES
                    When --enable-jar-splitting is set, files that match
                    the list of comma separated SUFFIXES will be excluded
                    from all jars.

Any ideas on what I'm doing wrong?

Upvotes: 2

Views: 608

Answers (1)

dzelemba
dzelemba

Reputation: 188

Turns out it was a bug. Should be fixed in 1.9.7. You can clone the development branch for earlier access:

$ git clone https://code.google.com/p/appengine-maven-plugin/
$ cd appengine-maven-plugin
$ mvn install
and change in you pom the plugin version to 1.9.7-SNAPSHOT  (keep the other artifacts the   same, change only for the plugin)

Upvotes: 1

Related Questions