springboot 项目执行出现中文乱码(从本地运行到打war包)

前言:中文乱码问题

springboot 项目执行出现中文乱码(从本地运行到打war包)_第1张图片

一,本地运行

就是直接使用springboot内嵌的tomcat运行出现中文乱码的问题

(1)参考如下pom.xml的配置文件加入jvm启动参数。

<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>

(2)具体加的位置如下

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <!-- spring-boot:run 中文乱码解决 -->
    <configuration>
        <fork>true</fork>
        <!--增加jvm参数-->
        <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>springloaded</artifactId>
            <version>1.2.5.RELEASE</version>
        </dependency>
    </dependencies>
</plugin>

二,打成war包乱码解决

问题描述
今天在使用 maven 打包spring boot 项目上线时,遇到一个坑,项目本地启动中文是没有乱码的 ,但是当我把打包好的jar ,扔向服务器时运行时,中文全部乱码,开始还以为是liuxn 本身一些配置我没有配置好,后来经过测试,打包的jar 文件本身中文就已经乱码,下面为本人调试修改后可以正常打包可执行jar并中文不乱码的pom.xml配置文件。

<!--  spring boot 项目打包成 可执行 jar 包 必须添加 , 打包方式 找到 当前项目目录  cmd  执行 mvn clean package -->
    <build>
        <plugins>
            <!-- 打包成可执行jar或者war,防止中文乱码,必须要下面这一个插件  -->
            <plugin> 
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-compiler-plugin</artifactId> 
                <configuration> 
                <source>1.8</source> 
                <target>1.8</target> 
                <encoding>utf-8</encoding> 
                </configuration> 
            </plugin> 
            <plugin> 
                <groupId>org.springframework.boot</groupId> 
                <artifactId>spring-boot-maven-plugin</artifactId> 
                <configuration> 
                  <!-- 这里为项目启动类-->
                  <mainClass>com.zhenqinl.StartupApplication</mainClass> 
                </configuration> 
                <executions> 
                  <execution> 
                    <goals> 
                      <goal>repackage</goal> 
                    </goals> 
                  </execution> 
                </executions> 
            </plugin> 
        </plugins>
    </build>

三,结尾给大家一个神坑Tomcat报错

严重: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/E:/eclipse-workspace/.metadata/.plugins
/org.eclipse.wst.server.core/tmp1/wtpwebapps/GymSystem/WEB-INF/lib/log4j-api-2.11.1.jar!/] for 
annotationsorg.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19at 
org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:136)at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>
(ConstantPool.java:59)at 
org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:208)at 
org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:118)at 
org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2055)at 
org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1931)at 
org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfi
g.java:1897)at org.apache.catalina.startup.ContextConfig.pro

本人是直接下载一个Tomcat解决问题的,出现这个问题就是Tomcat的问题。

你可能感兴趣的:(Tomcat,项目开发debug,中文乱码,本地运行,打包war)