如何向Quarkus应用注入命令行参数?
如何向Quarkus应用注入命令行参数?
不管是用Maven、Gradle还是Quarkus CLI运行应用,注入命令行参数的核心是区分构建工具参数和应用自身参数,下面分场景说明具体操作:
1. Maven运行场景
执行quarkus:dev命令时,用--分隔Maven命令和应用参数,之后直接追加需要注入的参数即可:
mvn quarkus:dev -- --env=prod --debug-mode
在代码里获取参数,推荐用Quarkus提供的@CommandLineArguments注解注入:
import io.quarkus.runtime.annotations.CommandLineArguments; import jakarta.inject.Inject; public class ArgProcessor { @Inject @CommandLineArguments String[] appArgs; public void processArgs() { for (String arg : appArgs) { System.out.println("收到参数:" + arg); } } }
也可以用原生的Runtime.getRuntime().getArgs()获取,但前者更符合Quarkus的依赖注入规范。
2. Gradle运行场景
和Maven逻辑一致,用--分隔Gradle命令与应用参数:
./gradlew quarkusDev -- --feature=metrics --log-level=info
3. Quarkus CLI运行场景
直接在dev命令后追加参数即可,不需要额外分隔符:
quarkus dev -- --profile=test --custom-config=value
4. 打包成可执行JAR后运行
打包完成后,直接在启动命令后加参数:
java -jar target/quarkus-app/quarkus-run.jar --server-port=8081
内容的提问来源于stack exchange,提问作者msd.salehi
相关产品推荐
相关产品推荐

