Using Java Libraries

You can use any Java compatible libraries with the Java runtime on the App Engine flexible environment. These instructions use Apache Maven to build, run, and deploy the sample app. For details about installing Maven, see Using Apache Maven and the App Engine Plugin.

Declaring and managing dependencies

To manage dependencies using Maven, you need to specifying the dependencies in the <dependencies> section inside the pom.xml file of your project.

Specifying the Java servlet library

Eclipse, Jetty, and Tomcat apps require the Java servlet library. Specify it in your pom.xml file's <dependencies> entry:

<dependencies>

  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <type>jar</type>
    <scope>provided</scope>
  </dependency>

</dependencies>

Note that frameworks such as SparkJava or Spring Boot will not require the servlet library.

Using the Google Cloud Client Libraries for Java

Google Cloud Client Libraries for Java provide idiomatic access to Google Cloud services. To use a library, declare it as a dependency.

Typically you only declare dependencies on the specific libraries that your app needs. For example, to use the Cloud Storage library:

<!--  Using libraries-bom to manage versions.
See https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>8.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-storage</artifactId>
  </dependency>
</dependencies>

To declare a dependency on all available libraries, add these lines to your pom.xml file:

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud</artifactId>
  <version>0.8.0</version>
</dependency>