提问:
我现在在xp系统下使用eclipse3.12+3.11语言包,根据《Eclipse从入门到精通》一书中关于查看源代码的内容,我在eclipse3.12+3.11语言包上操作,无法进行,提示有错误;然后,我在纯英文的eclipse3.12下进行操作,能够看到JDK的源代码;最后,再进入eclipse3.12+3.11语言包环境,现在可以在中文环境下查看JDK的源代码。(是否能告诉我是什么原因,时不时语言包的问题。)但是,我始终无法按照书上说的查看eclipse源代码,因为我的eclipse目录D:\eclipse312\plugins下只有org.eclipse.jface.text_3.1.2.jar和org.eclipse.jface_3.1.1.jar两个文件,没有org.eclipse.platform.source_3.01(或者是3.12等)的文件夹。
请教:我应该怎么作才能看到eclipse的源代码?
回答:
最新常有人提出类似的问题,今天我特意尝试了一下,并没有出现提问者所说的情况,真是奇怪。
我在这里复述一下我的实践过程吧:
我现在在xp系统下使用eclipse3.12+3.11语言包,根据《Eclipse从入门到精通》一书中关于查看源代码的内容,我在eclipse3.12+3.11语言包上操作,无法进行,提示有错误;然后,我在纯英文的eclipse3.12下进行操作,能够看到JDK的源代码;最后,再进入eclipse3.12+3.11语言包环境,现在可以在中文环境下查看JDK的源代码。(是否能告诉我是什么原因,时不时语言包的问题。)但是,我始终无法按照书上说的查看eclipse源代码,因为我的eclipse目录D:\eclipse312\plugins下只有org.eclipse.jface.text_3.1.2.jar和org.eclipse.jface_3.1.1.jar两个文件,没有org.eclipse.platform.source_3.01(或者是3.12等)的文件夹。
请教:我应该怎么作才能看到eclipse的源代码?
回答:
最新常有人提出类似的问题,今天我特意尝试了一下,并没有出现提问者所说的情况,真是奇怪。
我在这里复述一下我的实践过程吧:
先说说我的系统环境:Windows XP+JDK1.5。
关于JDK,环境变量设置了JAVA_HOME,但没有设置classpath。
关于JDK,环境变量设置了JAVA_HOME,但没有设置classpath。
(1)下载Eclipse。文件名:eclipse-SDK-3.1.2-win32.zip
说明:和你下载的文件名是一样的吗?
说明:和你下载的文件名是一样的吗?
(2)下载中文包:NLpack1-eclipse-SDK-3.1.1a-win32.zip、NLpack1_FeatureOverlay-eclipse-SDK-3.1.1.zip
说明:中文包共两个文件,是基于3.1.1的,不过Eclipse3.1.2也可以用它来汉化。
说明:中文包共两个文件,是基于3.1.1的,不过Eclipse3.1.2也可以用它来汉化。
(3)将Eclipse安装在桌面上(反正我是临时实验用,放在桌面上方便),用link法安装中文包(两个文件)。
(4)启动Eclipse后,汉化正常。
(5)创建一个插件项目,选择使用了“Hello,World”模板。
(6)共查看了以下四个类的源码,都很正常没有报错。这个四个类是:插件的AbstractUIPlugin类、SWT的Button类、JFace的TreeViewer类、JDK的ArrayList类
后记:我又试了创建一个普通项目,然后按照《Eclipse从入门到精通》中所说的那样,添加了几个对SWT库的引用后,转变成一个支持SWT开发项目。再次查看上面所说四个类的源代码,一切正常。
后记:我又试了创建一个普通项目,然后按照《Eclipse从入门到精通》中所说的那样,添加了几个对SWT库的引用后,转变成一个支持SWT开发项目。再次查看上面所说四个类的源代码,一切正常。
估计读者错误原因:
(1)下载的Eclipse不是SDK版,所以没有包含有源代码。请对照前面的下载文件名,保证相同。并且SDK应包含以下源文件库目录(目录名都含有source字符)。
org.eclipse.jdt.source_3.1.2
org.eclipse.pde.source_3.1.2
org.eclipse.platform.source.win32.win32.x86_3.1.2
org.eclipse.platform.source_3.1.2
org.eclipse.rcp.source.win32.win32.x86_3.1.2
org.eclipse.rcp.source_3.1.2
(2)库引用不全。(但如果你在英文版下可以,在中文版下不行,那么这个错误原因可以排除)