zoukankan      html  css  js  c++  java
  • springboot打包去除资源文件,启动时指定配置文件位置,使用log4j2替换默认logback

    springboot打包时,去掉资源文件

    <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <excludes>
                        <exclude>*.properties</exclude>
                        <exclude>*.xml</exclude>
                    </excludes>
                </resource>
            </resources>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>  
                    <artifactId>maven-surefire-plugin</artifactId>  
                    <configuration>  
                      <skipTests>true</skipTests>  
                    </configuration>
                </plugin>
            </plugins>
        </build>

    但这样配置后,在eclipse中启动springboot项目,则会出现读取不到配置资源的情况,所以在eclipse启动项目时,需要注释掉如下配置

    <resources>
            <resource>
                <directory>src/main/resources</directory>
                    <excludes>
                        <exclude>*.properties</exclude>
                        <exclude>*.xml</exclude>
                    </excludes>
            </resource>
    </resources> 

    如果修改了pom文件之后,程序运行异常,如果使用eclipse,则可通过右键Maven -- Update Project更新下maven依赖,再次启动服务

     启动时指定配置文件位置

    项目打成jar包后,运行时,可将配置文件放入jar包同级目录下或者在同级的config目录下(放入classpath下或者classpath下config目录下也可以,但是打成jar包,就需要一起打包出来)

    配置文件加载顺序为:

    jar包同级目录下的config文件夹下配置

    jar包同级目录下配置

    classpath下config目录下配置

    classpath下配置

    java -Xms100m -Xmx100m -jar myboot001-0.0.1-SNAPSHOT.jar &

    也可指定加载配置文件的地址

    java -Xms100m -Xmx100m -jar myboot001-0.0.1-SNAPSHOT.jar --spring.config.location=configs/application.properties  --logging.config=./log4j2.xml  >> /dev/null 2>&1 &

    以DEBUG方式启动

    java -Xms100m -Xmx100m -jar myboot001-0.0.1-SNAPSHOT.jar --spring.config.location=configs/application.properties --debug

     使用log4j2替换默认日志框架logback

    添加log4j2日志框架依赖

    <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

    此时启动服务时,将会有如下提示

    从日志记录看,依然使用的为logback日志,网上搜索了一些资料得知,需要排除掉默认的日志框架才会生效

    本例使用了两个spring-boot-starter-data-redis和spring-boot-starter-jdbc依赖,且它们也都有日志框架的依赖,排除默认框架时,只需将写在最前面的starter依赖中添加排除默认日志框架的代码即可

    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-data-redis</artifactId>
           <exclusions>
                 <exclusion>    
                       <groupId>org.springframework.boot</groupId>
                       <artifactId>spring-boot-starter-logging</artifactId>
                 </exclusion>
           </exclusions>
    </dependency>
    <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    或者添加如下依赖处理(位置不限)

     <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter</artifactId>
           <exclusions>
                  <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-logging</artifactId>
                  </exclusion>
           </exclusions>
     </dependency>
  • 相关阅读:
    linux 下ip命令对比ifconfig命令
    Redis使用详细教程
    shell中eval命令
    在Ubuntu 14.04 上安装 FTP 服务
    这本将shell的书应该不错
    linux sh 脚本调用外部命令
    c语言char 和int的问题
    ubuntu网卡ip的配置
    js中获取时间new date()的用法
    react 组件之间的通信
  • 原文地址:https://www.cnblogs.com/qq931399960/p/9962401.html
Copyright © 2011-2022 走看看