Spring Boot Development
Use Arconia CLI to build, test, and run Spring Boot applications. Arconia CLI auto-detects Maven or Gradle — you never specify the build tool.
Run the application in development mode
arconia dev
This starts the app with the dev Spring profile active. If the project uses
Arconia Dev Services, external services (databases, message brokers, AI
inference servers, etc.) are provisioned automatically — no configuration needed.
Use --test (-t) only if the project relies on Spring Boot's native
Testcontainers approach (a TestApplication class in src/test). If the
project uses Arconia Dev Services, plain arconia dev is correct.
arconia dev --test
Build the application
arconia build
Options:
| Flag | Effect |
|---|---|
--clean |
Remove previous build output first |
--skip-tests |
Skip tests during the build |
--native |
Produce a GraalVM native executable instead of a JAR |
--offline |
Build without network access |
Build a GraalVM native executable:
arconia build --native
Build output locations
| Build type | Gradle | Maven |
|---|---|---|
| JVM JAR | build/libs/ |
target/ |
| Native executable | build/native/nativeCompile/ |
target/ |
Run tests
arconia test
Options:
| Flag | Effect |
|---|---|
--clean |
Clean before testing |
--native |
Run tests in GraalVM native mode |
--offline |
Test without network access |
Run a specific test class:
# Gradle
arconia test -- --tests "*BookServiceTests"
# Maven
arconia test -- -Dtest=BookServiceTests
If the project uses Arconia Dev Services, integration tests automatically get
external services provisioned — no @Import annotations or configuration
classes required.
Pass extra arguments to the build tool
Use -- to forward arguments to the underlying Maven or Gradle command:
arconia build -- --stacktrace
arconia test -- -DmyProperty=value
arconia dev -- -Dspring.profiles.active=staging
Workflow
- Start the app:
arconia dev - Make changes — the app live-reloads if Spring Boot DevTools is on the classpath
- Run tests:
arconia test - Build the final artifact:
arconia build
Gotchas
arconia build --nativerequires GraalVM to be installed. Native builds are significantly slower than JVM builds but produce fast-startup, low-memory binaries.arconia devwithout--testis the default and correct choice when the project uses Arconia Dev Services. Only add--testfor Spring Boot's native Testcontainers approach.- All commands support
--verbose(-v) for detailed output when debugging build issues. - The
--separator is required to distinguish Arconia CLI flags from build tool arguments. Everything after--is passed directly to Maven or Gradle.