Build Spring project for run on another system

五迷三道 提交于 2019-12-12 02:36:54

问题


I Successfully create a spring boot project on my own local system. I want to build a jar file so I can install it on remote server. so I had to configure server address and mySql address of remote server but I can not Build and it have many errors, and they all right cause my system can not see the remote server address and database.

this is my .properties file:

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

how can handle it for running on another configurations? ( another IP, datasource, and ...) Am I doing it right or not? thanks


回答1:


You can use spring profiles here : Create different property files for different profiles using application-{profile}.properties format, e.g. application-dev.properties for dev, and application-prod.properties for production put your profile specific configurations in them. Then when you're running the spring boot application, activate your intended profile using the SPRING_PROFILES_ACTIVE environment variable or spring.profiles.active system property.

and at the end, you will run your jar file with command java -jar -Dspring.profiles.active=prod application.jar




回答2:


You can have different application.properties within your resources folder and use spring profiles for example application-{profile}.properties and run the application with the specified profile. However this still limits the configuration items to what has been hard coded within the properties files. When running the application, if it was to be distributed to other people, where non of the profiles are supported you can provide a properties file at start up.

So in the same directory for example as the .jar file create a file named application.properties with empty place holders for all the variables required for the application so the admin can enter the details correct for them. Then they will be required to start the application with the following command

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

Or springboot will load properties from application.properties files in the following locations:

  1. A /config subdirectory of the current directory.
  2. The current directory
  3. Failing that the default application.properties from the resources folder will be loaded.


来源:https://stackoverflow.com/questions/43303849/build-spring-project-for-run-on-another-system

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!