Provides extension methods and resource definitions for the Aspire AppHost to support running Java applications. The integration supports Maven, Gradle, and standalone JAR-based applications.
In your AppHost project, install the package:
dotnet add package CommunityToolkit.Aspire.Hosting.Java
Use WithMavenGoal to run the application using a Maven goal:
var app = builder.AddJavaApp("app", "../java-project")
.WithMavenGoal("spring-boot:run")
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");Pass additional arguments:
var app = builder.AddJavaApp("app", "../java-project")
.WithMavenGoal("spring-boot:run", "-Dspring-boot.run.profiles=dev")
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");Use WithGradleTask to run the application using a Gradle task:
var app = builder.AddJavaApp("app", "../java-project")
.WithGradleTask("bootRun")
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");To run an existing JAR file, pass the jarPath parameter:
var app = builder.AddJavaApp("app", "../java-project", "target/app.jar")
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");Use WithMavenBuild or WithGradleBuild to compile the application before it starts. This is typically not needed when using WithMavenGoal or WithGradleTask, as those goals usually handle building automatically.
var app = builder.AddJavaApp("app", "../java-project", "target/app.jar")
.WithMavenBuild()
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");To run a Java application from a container image, use AddJavaContainerApp:
var app = builder.AddJavaContainerApp("app", "my-java-image", "latest")
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");Use WithJvmArgs to configure JVM arguments:
var app = builder.AddJavaApp("app", "../java-project")
.WithMavenGoal("spring-boot:run")
.WithJvmArgs(["-Xmx512m", "-Xms256m"])
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");Use WithOtelAgent to configure the OpenTelemetry Java Agent:
var app = builder.AddJavaApp("app", "../java-project", "target/app.jar")
.WithOtelAgent("../agents/opentelemetry-javaagent.jar")
.WithHttpEndpoint(targetPort: 8080, env: "SERVER_PORT");