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 a trial account before you begin.
Set up your development environment
To develop a functions app with Java and Eclipse, you must have the following installed:
- Java Developer Kit, version 8, 11, 17 or 21. (Java 21 is currently supported in preview only on Linux)
- Apache Maven, version 3.0 or above.
- Eclipse, with Java and Maven support.
- Azure CLI
Important
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
- In Eclipse, select the File menu, then select New -> Maven Project.
- Accept the defaults in the New Maven Project dialogue and select Next.
- Find and select the azure-functions-archetype and click Next.
- Be sure to fill in values for all of the fields including
resourceGroup
,appName
, andappRegion
(please use a different appName other than fabrikam-function-20170920120101928), and eventually Finish.
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
Note
Azure Functions Core Tools, version 2 must be installed to run and debug functions locally.
- Right-click on the generated project, then choose Run As and Maven build.
- In the Edit Configuration dialog, Enter
package
in the Goals, then select Run. This will build and package the function code. - 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.
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 fabrikam-function-20170920120101928.20170920143621915.zip
[INFO] Successfully deployed Function App at https://fabrikam-function-20170920120101928.chinacloudsites.cn
[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.