A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cloud.google.com/appengine/docs/flexible/java/using-maven below:

Using Apache Maven and the App Engine Plugin | Google App Engine flexible environment docs

Using Apache Maven and the App Engine Plugin

Stay organized with collections Save and categorize content based on your preferences.

Apache Maven is a build automation tool for Java.

App Engine provides a Maven plugin that you can use to build and deploy your app to App Engine. The plugin does not support Enterprise Application Archive (EAR) projects.

Note: For information about other ways to build and deploy your app, see Testing and deploying your app. Before you start
  1. Determine if Maven is installed and which version you have by running the following command:

    mvn -v
    

    If Maven is installed, a long string of information beginning with Apache Maven and followed by a version number such as 3.9.1 will display.

  2. If you don't have Maven 3.9.1 or newer installed:

    1. Download Maven 3.9.1 or newer.
    2. Install Maven 3.9.1 or newer.
    Note: Linux users might need to download Maven instead of using apt-get install to install Maven 3.9.1 or newer.
  3. If you haven't already done so, follow the steps here to download the gcloud CLI, create your Google Cloud project, and initialize your App Engine app.

  4. Install the gcloud CLI app-engine-java component:

    gcloud components install app-engine-java
    
Adding the App Engine Maven plugin

To use the App Engine Maven plugin, add the following lines to the plugins section in your project's pom.xml file:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.8.1</version>
   </plugin>
   <plugin>
     <groupId>org.eclipse.jetty</groupId>
     <artifactId>jetty-maven-plugin</artifactId>
     <version>9.4.56.v20240826</version>
   </plugin>
</plugins>
Note: If there is a newer version of the App Engine Maven plugin, you should upgrade to the latest version.

The App Engine plugin includes the Jetty Maven plugin, which you can use to test your application quickly without creating a WAR file.

Using the Jetty Maven plugin to test your app locally

During the development phase, you can run and test your app at any time in the development server by invoking the Jetty Maven plugin.

To run your app in the development server:

  1. Build your app if you haven't already done so:

    mvn package
    
  2. Change directory to the top level of your project (for example, to myapp), and run your app by invoking Maven:

    mvn jetty:run
    
  3. Wait for the server to start and use your browser to visit http://localhost:8080/ to access your app.

  4. Shut down the app and the development server by pressing Control+C.

Building and deploying your app

After you add the App Engine Maven plugin to your project's pom.xml file, you can use the following command to build deploy your app:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

Replace PROJECT_ID with the ID of your Google Cloud project. If your pom.xml file already specifies your project ID, you don't need to include the -Dapp.deploy.projectId property in the command you run.

The package goal builds and packages your app, and the appengine:deploy goal does the following:

  1. Generates a unique version ID for the new version of your app.

  2. Deploys the new version to App Engine.

  3. Routes all traffic to the new version.

Changing the deployment defaults

You can change the default deployment behavior by passing parameters in the appengine:deploy command. For example, the following command deploys the service defined in your pom.xml file to a specific Google Cloud project, assigns a custom version ID to the service, and turns off automatic traffic routing for the new version:

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

You can also use the appengine:deploy command to deploy configuration files, such as cron.yaml, dispatch.yaml, and index.yaml.

For more information, see the appengine:deploy reference .

What's next

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-07 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["Apache Maven is a build automation tool for Java, and App Engine provides a Maven plugin to build and deploy Java applications to App Engine, although it does not support Enterprise Application Archive (EAR) projects."],["Before using the App Engine Maven plugin, ensure you have Maven version 3.9.1 or newer installed, the gcloud CLI, your Google Cloud project, an initialized App Engine app, and the gcloud CLI `app-engine-java` component installed."],["The App Engine Maven plugin can be added to a project's `pom.xml` file, and it includes the Jetty Maven plugin, allowing for quick local testing of the application without needing to create a WAR file."],["To test the application locally, use the `mvn jetty:run` command after packaging the app, and then access it via `http://localhost:8080/`, with the ability to shut it down with Control+C."],["To build and deploy the application to App Engine, use the `mvn package appengine:deploy` command, optionally specifying project ID, custom version, and traffic routing behavior."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4