Maven 编译 乱码 问题

maven 乱码 实在恶心,window 系统下没问题,linux 就不行

添加Maven运行环境变量

具体方法:[我的电脑]->右键,[属性]->[高级]->[环境变量]==> 添加一个环境变量: 变量名: MAVEN_OPTS ,变量值: -Xms256m -Xmx512m -Dfile.encoding=UTF-8

linux 系统到 /etc/profile  修改 MAVEN_OPTS =-Xms256m -Xmx512m -Dfile.encoding=UTF-8


问题补充
sw1982 写道
linux本身对中文支持就不行,svn在linux上面也是问题很大。

楼上那个配置可以解决根本问题???

只是针对 maven  编译乱码
linux 默认utf-8 编码

配置一下
[code="java"]
maven-compiler-plugin

1.6
1.6
UTF-8


org.apache.maven.plugins
maven-resources-plugin

UTF-8

[/code]

linux本身对中文支持就不行,svn在linux上面也是问题很大。

楼上那个配置可以解决根本问题???

这样配置不好,如果别人的机器上也装了maven的其他项目,编码不是utf-8的,你的配置就会把其他的编码方式的项目弄乱码了。

应该在pom.xml中指定源代码的编码方式:


1.5
UTF-8
UTF-8

On linux everything is in UTF-8. Windows uses CP 1252

要有合适的linux的驱动 你去网上搜搜

修改LINUX的环境变量:
在SHELL 里
输入:
locale (查看当前SHELL使用的编码)

export LANG=zh_CN.gb18030

再执行 locale

成功后应该显示这样

[code="java"]
[suziwenen@suziwen base2git]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[suziwenen@suziwen base2git]$ export LANG=zh_CN.gb18030
[suziwenen@suziwen base2git]$ locale
LANG=zh_CN.gb18030
LC_CTYPE="zh_CN.gb18030"
LC_NUMERIC="zh_CN.gb18030"
LC_TIME="zh_CN.gb18030"
LC_COLLATE="zh_CN.gb18030"
LC_MONETARY="zh_CN.gb18030"
LC_MESSAGES="zh_CN.gb18030"
LC_PAPER="zh_CN.gb18030"
LC_NAME="zh_CN.gb18030"
LC_ADDRESS="zh_CN.gb18030"
LC_TELEPHONE="zh_CN.gb18030"
LC_MEASUREMENT="zh_CN.gb18030"
LC_IDENTIFICATION="zh_CN.gb18030"
LC_ALL=
[suziwenen@suziwen base2git]$
[/code]

然后再在当前SHELL里使用maven试试