solo不同环境打包

  |   1 评论   |   1,522 浏览

本站点使用的框架是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>

在项目的根目录下,新增两个配置文件:
fcdd008cb50147db917768590e5deb77.png

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的教程,期待下吧!

如有写的不对的地方,请大家指出来。

再次感谢大家耐心的看完我的博客。希望对你有帮助。


本文为博主原创文章,未经博主允许不得转载。

评论

发表评论