Maven下执行命令出现乱码错误的解决方法

  • 2017-06-16
  • 0
  • 0

昨天使用Maven Release Plugin发布项目的时候出现一个很奇怪的问题,使用 mvn deploy 命令直接发布到maven私仓的时候是正常的,但是执行 mvn release:prepare 发布正式版的时候执行测试的时候会出现错误,原来测试的时候会自动加载mysql的一个初始化sql文件,这个文件里面包含中文的字符串,但字符串会出现乱码,于是又想到应该是文件编码的问题。
在项目父类的pom.xml文件中已经做了如下的设置:

  1.  <plugin>
  2.      <groupId>org.apache.maven.plugins</groupId>
  3.      <artifactId>maven-resources-plugin</artifactId>
  4.      <configuration>
  5.        <encoding>UTF-8</encoding>
  6.      </configuration>
  7.    </plugin>

发现依然如此,最后发现需要在环境变量中进行设置,设置 MAVEN_OPTS=-Duser.language=zh-CN -Dfile.encoding=UTF-8,再次执行就可以正常了。

最后再说两个小技巧:
一是系统里面因为各种原因安装了多个版本的JDK和SVN,在使用maven release plugin的时候使用到的JDK版本和SVN版本跟系统环境变量中的不一致,可以在Eclipse中Run Configurations中单独设置命令的环境变量值:

另外一个是在Windows系统下面推荐一个Rapid Environment Editor的工具,管理环境变量非常方面,界面如下:

参考资料:
maven platform encoding

评论

还没有任何评论,你来说两句吧