RCP 应用程序导出Relase build失败

时间:2023-01-18 23:16:37

现象:用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