我们在开发的时候往往将数据库链接信息写死在yml中,例如
spring:
datasource:
driver-class-name: oracle.jdbc.OracleDriver
password: abc
username: abc
url: jdbc:oracle:thin:@//localhost:1521/pdb1
但是如此以来,大大的降低了代码的灵活性,换一次服务器都得更改该信息,如果是共同开发,那么这些私密信息上传到服务器也会带来诸多不变,下面来分享一下将这些信息提取成配置文件。
1、在项目目录下,pom.xml 同级目录中,新增 dev.properties 文件, prod.properties 文件
2、将数据库链接信息填写入内
jdbc.url=jdbc:oracle:thin:@192.168.0.39:1521:orcl
jdbc.password=coamc_irm
jdbc.username=coamc_irm
3、配置 pom.xml 文件,添加mvn插件
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>dev.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>prod.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
4、修改 yml 文件
spring:
datasource:
driver-class-name: oracle.jdbc.OracleDriver
username: @jdbc.username@
password: @jdbc.password@
url: @jdbc.url@
5、打包
使用命令 mvn package -DskipTests=true 打包项目,默认读取 dev 的配置,在开发中可以使用
使用命令 mvn package -DskipTests=true -P prod,debug 打包项目,读取 prod 的配置,在生产环境中可以使用
6、将配置有数据库链接信息的文件加入 .gitignore 文件中,以免将私密信息上传至服务器
### sensitive ###
dev.properties
prod.properties
7、最后更新read文档
# 安装部署
1. 更新代码至最新
2. 复制 example.properties 文件更名为 prod.properties
3. 填写 prod.properties 对应项
4. mvn clean package -DskipTests=true -P prod,debug
5. java -jar 项目名称
## 备注
1. 检查端口是否开放
2. 检查防火墙
进阶篇