项目里面遇到了几个奇葩的问题,
一个是spring-boot项目在启动的时候报错误Input length = 1
上网查了一下说的是把application.yml里面的中文全部删除掉。找了很久定位原因是编码的问题,修改如下:
第二个问题是在项目打包的时候也遇到了这样的问题
打包命令 mvn clean package -DskipTests -e
错误提示:
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException (CoderResult.java:281)
at sun.nio.cs.StreamDecoder.implRead (StreamDecoder.java:339)
增加一个打包的插件,并且指定编码为UTF-8
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
关于 maven-resources-plugin 插件的作用,参考文章:插件作用