java 无法在Sping Boot 中通过Maven命令传递环境变量?

hts6caw3  于 2023-03-16  发布在  Java
关注(0)|答案(1)|浏览(145)

我尝试使用maven命令运行我的Sping Boot 应用程序,并将一些环境变量传递给此命令。通常,我在www.example.com上创建一些定义README.md,通过描述IntelliJ上的菜单来运行应用程序,但我认为通过maven命令描述并让用户运行或调试应用程序要好得多。
另一方面,可能有一种替代方法可以通过Spring命令(例如spring-boot:run)运行或调试Sping Boot 应用程序。在每种情况下,您能否给予以下示例:

  • 通过maven命令传递环境变量运行/调试应用程序
  • 通过阅读.env文件中的环境变量,通过maven运行/调试应用程序

我还阅读了用Maven运行应用程序,但看不到调试和从环境文件中阅读变量。
此外,无法理解这些之间的区别:

mvn spring-boot:run -Dspring-boot.run.jvmArguments=...

mvn spring-boot:run -Dspring-boot.run.arguments=...

这是我的.env文件;我还复制了它并保存为.env-dev,以防dev配置文件从dev版本读取。它们都有以下内容:

DB_NAME=demo
DB_USERNAME=postgres
DB_PASSWORD=pass
JWT_SECRET=appSecretKey
vhmi4jdf

vhmi4jdf1#

-Dspring-boot.run.jvmArguments JVM参数用于指定直接传递给JVM(Java虚拟机)的参数。这些参数控制JVM本身的**行为,而不是Spring Boot应用程序的行为。例如:-Xmx,-XX:+使用G1 GC
-Dspring-boot.run. Arguments参数用于指定传递给Spring Boot应用程序本身的参数。这些参数配置Spring Boot应用程序的
行为或为其提供输入。**例如:--server.port

相关问题