本站点使用的框架是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的教程,期待下吧!
如有写的不对的地方,请大家指出来。
再次感谢大家耐心的看完我的博客。希望对你有帮助。
注意:本文归作者所有,未经作者允许,不得转载