本站点使用的框架是 solo,这个框架确实很强大,也是 java 语言开发的比较好的博客框架。
你从 github 上面 clone 下来,修改下数据库的配置,就直接可以使用了,如果你用内嵌的 h2 数据库,那都不用改数据库配置。我喜欢使用 mysql,本地也已经装了数据库,所以我没有使用内嵌的数据库,而是使用了 tomcat 来启动项目,在使用过程中,发现开发环境和正式环境没办法通过 maven 命令来区分,如果你需要部署到线上去,那你必须修改数据库的配置,还有其他有差异的配置都需要修改,这样如果有一天忘记改了,那就会出现问题。
既然有问题出现,那要想办法解决。想起在研究 maven 的时候有看到过 profile 的配置,可以用来区分是哪个环境。不同的环境给不同的 properties 文件,在 maven 打包的时候,给出是哪个环境打包,这样就不用频繁的修改配置了,是不是省心了。
下面是 maven 的配置,可以放在 build 标签的下面
<profiles>
<profile>
<id>dev</id>
<build>
<filters>
<filter>profile.dev.properties</filter>
</filters>
</build>
<activation>
<activeByDefault>true</activeByDefault><!--默认启用的是production环境配置 -->
</activation>
</profile>
<profile>
<id>pro</id>
<build>
<filters>
<filter>profile.pro.properties</filter>
</filters>
</build>
</profile>
</profiles>
需要在 build 标签里面添加一个 filtering 配置,否则不会去扫描 properties 文件,配置如下:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>etc/</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
</build>
在项目的根目录下,新增两个配置文件:
profile.dev.properties 的代码示例:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=utf8
jdbc.username=test
jdbc.password=test
在 solo 项目里面找到 resources 文件夹,找到 local.properties 文件,改为:
jdbc.username=${jdbc.username}
jdbc.password=${jdbc.password}
jdbc.driver=${jdbc.driver}
jdbc.URL=${jdbc.url}
${}里面的变量就是 profile.dev.properties 里面的变量。
最后给出 maven 的打包命令:
mvn clean install -P dev
这边的 dev 是 profiles 标签里面的 id,如果是正式环境 就把 dev 换成 pro
是不是很简单,不同环境打包解决了。这个配置可以用到任何一个 maven 项目里面,让你不会因为忘记改配置而出错。后面给大家带来 Jenkins 的教程,期待下吧!
如有写的不对的地方,请大家指出来。
再次感谢大家耐心的看完我的博客。希望对你有帮助。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于