springboot打包与配置文件外置

目标:

1.将普通的MAVEN JAVA工程打包成SpringBoot可运行的jar包

2.将application.yml和log4j2.xml

1.打包

SpringBoot项目打包要求将依赖的jar全部打进去,因为SpringBoot的自动配置需要用到里面的spring.factory文件,该文件是自动配置的关键步骤之一

如果在IDEA或者ECLPSE里面使用直接创建SpringBoot工程,然后打包即可完成上面的需求,但我是在Idea里面创建的普通MAVEN工程,然后打包依赖的任何JAR都没有打进去

然后百度了半天,分享一下:

在<build></build>标签中添加如下配置

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.5.9.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

执行打包操作

打包出来结果

查看打包内部结果

配置文件外置

在pom.xml文件中的<build></build>增加如下内容

<resources>
    <resource>
        <directory>src\main\resources</directory>
        <excludes>
            <exclude>application.yml</exclude>
            <exclude>log4j2.xml</exclude>
        </excludes>
    </resource>
</resources>

重新打包

对比发现application.yml和log4j2.xml没有在jar包中

启动测试

java -jar provider-1.0.0.jar --logging.config=./log4j2.xml

启动正常

日志也正常输出

结束

猜你喜欢

转载自my.oschina.net/u/3049601/blog/1862135