现象:用PDE开发的RCP应用,在Eclipse内可以跑,却无法导出,logs.zip里面的日志如下,有乱码情况。但Eclipse中却可以编译通过并运行的。另外项目属性中的encoding=UTF-8
# 12-3-7 上午04时01分15秒 # Eclipse Compiler for Java(TM) 0.B83_R37x, 3.7.2, Copyright IBM Corp 2000, 2011. All rights reserved. ---------- 1. ERROR in C:\Documents and Settings\user\workspace\Tester\src\com\tester\bean\schedule\IntervalTimeOption.java (at line 165) result = result + invterval / DAY_IN_MINUTE + "澶?; ^^^^ String literal is not properly closed by a double-quote ---------- ---------- 2. ERROR in C:\Documents and Settings\user\workspace\Tester\src\com\tester\bean\schedule\RangeTimeOption.java (at line 121) return result + time.getHours() + "鏃? + time.getMinutes() + "鍒?杩愯"; ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Syntax error, insert ";" to complete BlockStatements
原因:不详,猜想是Eclipse导出时认不了UTF-8编码,也就是Eclipse的导出的时候用的程序的编码(不知道是什么)跟代码(UTF-8)不一致。
解决:用指定的编码方式启动Eclipse, 可以在.ini中加入VM参数,
-vmargs -Dfile.encoding=UTF-8
或新建一个快捷方式,在快捷方式中的目标后面添加参数如
[yourpath]eclipse.exe -vmargs -Dfile.encoding=UTF-8