Create your first function with Java and Eclipse

This article shows you how to create a serverless function project with the Eclipse IDE and Apache Maven, test and debug it, then deploy it to Azure Functions.

If you don't have an Azure subscription, create an Azure free account before you begin.

Set up your development environment

To develop a functions app with Java and Eclipse, you must have the following installed:


The JAVA_HOME environment variable must be set to the install location of the JDK to complete this quickstart.

It's highly recommended to also install Azure Functions Core Tools, version 2, which provide a local environment for running and debugging Azure Functions.

Create a Functions project

  1. In Eclipse, select the File menu, then select New -> Maven Project.
  2. Accept the defaults in the New Maven Project dialogue and select Next.
  3. Find and select the azure-functions-archetype and click Next.
  4. Be sure to fill in values for all of the fields including resourceGroup, appName, and appRegion (please use a different appName other than fabrikam-function-20170920120101928), and eventually Finish. Eclipse Maven create2

Maven creates the project files in a new folder with a name of artifactId. The generated code in the project is a simple HTTP triggered function that echoes the body of the triggering HTTP request.

Run functions locally in the IDE


Azure Functions Core Tools, version 2 must be installed to run and debug functions locally.

  1. Right-click on the generated project, then choose Run As and Maven build.
  2. In the Edit Configuration dialog, Enter package in the Goals, then select Run. This will build and package the function code.
  3. Once the build is complete, create another Run configuration as above, using azure-functions:run as the goal and name. Select Run to run the function in the IDE.

Terminate the runtime in the console window when you're done testing your function. Only one function host can be active and running locally at a time.

Debug the function in Eclipse

In your Run As configuration set up in the previous step, change azure-functions:run to azure-functions:run -DenableDebug and run the updated configuration to start the function app in debug mode.

Select the Run menu and open Debug Configurations. Choose Remote Java Application and create a new one. Give your configuration a name and fill in the settings. The port should be consistent with the debug port opened by function host, which by default is 5005. After setup, click on Debug to start debugging.

Debug functions in Eclipse

Set breakpoints and inspect objects in your function using the IDE. When finished, stop the debugger and the running function host. Only one function host can be active and running locally at a time.

Deploy the function to Azure

The deploy process to Azure Functions uses account credentials from the Azure CLI. Log in with the Azure CLI before continuing using your computer's command prompt.

az login

Deploy your code into a new Function app using the azure-functions:deploy Maven goal in a new Run As configuration.

When the deploy is complete, you see the URL you can use to access your Azure function app:

[INFO] Successfully deployed Function App with package.
[INFO] Deleting deployment package from Azure Storage...
[INFO] Successfully deleted deployment package
[INFO] Successfully deployed Function App at
[INFO] ------------------------------------------------------------------------

Next steps

  • Review the Java Functions developer guide for more information on developing Java functions.
  • Add additional functions with different triggers to your project using the azure-functions:add Maven target.