IDEA创建maven在main运行代码出现编译乱码问题

Posted ahcfl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA创建maven在main运行代码出现编译乱码问题相关的知识,希望对你有一定的参考价值。

maven项目与IDEA2020.1版本存在一些问题,在运行main时会自动默认插件代理运行

编译时出现乱码。

我换了2019.3版本的完成不存在这个问题,2017、2021好像也可以,没有测试过。

当然如果不想换版本,也有解决办法。

原因分析

maven项目,执行main函数的时候需要两个插件:
maven-compiler-plugin:用来编译Java文件,指定JDK版本等
exec-maven-plugin:用来执行class文件,其中插件配置中需指明执行类的路径。

**方法一:setting **

在setting->maven->Runner->VM Options一栏中填入 -Dfile.encoding=gb2312
在这里插入图片描述

方法二:pom.xml

<properties>
	<!-- 文件拷贝时的编码 -->
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	<!-- 编译时的编码 -->
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

方法三:

如果要使用main函数执行,那就在maven引入办法提到的两个插件即可。

<build>
            <plugins>
                    <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>exec-maven-plugin</artifactId>
                            <version>1.2.1</version>
                            <executions>
                                    <execution>
                                            <goals>
                                                    <goal>java</goal>
                                            </goals>
                                    </execution>
                            </executions>
                            <configuration>
                                    <mainClass>pl.stasiak.pytel.SnmpClientApplication</mainClass>
                            </configuration>
                    </plugin>
            </plugins>
    </build>

<build>
     <plugins>
         <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>exec-maven-plugin</artifactId>
             <version>1.6.0</version>
             <executions>
                 <execution>
                     <goals>
                         <goal>java</goal>
                     </goals>
                 </execution>
             </executions>
             <configuration>
                 <classpathScope>test</classpathScope>
             </configuration>
         </plugin>
     </plugins>
</build>

以上是关于IDEA创建maven在main运行代码出现编译乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

IDEA中使用Maven模板创建Servelet项目并使用Tomcat来运行项目

idea创建maven web项目经常出现没有resource文件夹

IDEA编译的JAR包运行出现“没有主清单属性”

为啥idea创建文件为啥有main

为啥新建的maven工程没有resources目录?

maven项目 在eclipse,InteliJ IDEA中的一些问题