在另一个系统上为 运行 构建 Spring 项目

Build Spring project for run on another system

我在自己的本地系统上成功创建了一个 spring 启动项目。我想构建一个 jar 文件,以便我可以将它安装在远程服务器上。所以我必须配置服务器地址和远程服务器的 mySql 地址,但我无法构建并且它有很多错误,但它们没问题,因为我的系统看不到远程服务器地址和数据库。

这是我的 .properties 文件:

spring.datasource.url=jdbc:mysql://localhost:8081/aths
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create
server.address=192.168.24.250
server.port=8080

如何在其他配置上为 运行 处理它? (另一个 IP、数据源和...) 我这样做对不对?谢谢

您可以在此处使用 spring 个配置文件: 使用 application-{profile}.properties 格式为不同的配置文件创建不同的 属性 文件,例如application-dev.properties 用于开发,application-prod.properties 用于生产,将您的配置文件特定配置放入其中。然后,当您 运行 启动 spring 启动应用程序时,使用 SPRING_PROFILES_ACTIVE 环境变量或 spring.profiles.active 系统 属性.[=14= 激活您想要的配置文件]

最后,您将 运行 您的 jar 文件带有命令 java -jar -Dspring.profiles.active=prod application.jar

您的资源文件夹中可以有不同的 application.properties,并使用 spring 配置文件,例如 application-{profile}.properties 和 运行 具有指定配置文件的应用程序。然而,这仍然将配置项限制为在属性文件中硬编码的内容。当 运行 安装应用程序时,如果要将其分发给其他人,在不支持任何配置文件的情况下,您可以在启动时提供一个属性文件。

因此在与 .jar 文件相同的目录中创建一个名为 application.properties 的文件,其中包含空占位符对于应用程序所需的所有变量,以便管理员可以输入正确的详细信息。然后他们将被要求使用以下命令启动应用程序

java -jar 'applicaitonname.jar -Dspring.config.name="file:/path/to/application.properties"

或 springboot 将从以下位置的 application.properties 文件加载属性:

  1. 当前目录的/config 子目录。
  2. 当前目录
  3. 无法加载资源文件夹中的默认 application.properties。