ApH
ApH
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
阅读:1294回复:20

谁有,JDK FOR LINUX

楼主#
更多 发布于:2001-11-01 15:37
上不了网,谁有现成的,给一份。:D
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
1C#
发布于:2001-11-02 14:11
Re:谁有,JDK FOR LINUX
那可不行,不可以白给的呀!
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
小混混石
普通会员
普通会员
  • 铜币0枚
  • 威望0点
  • 贡献值0点
2C#
发布于:2001-11-07 11:15
Re:谁有,JDK FOR LINUX
你用什么版本的?
好多版本都自带呢:)
正版的REDHAT7。1上就有,当然以前的7。0上也有:) -------------------- 只是想做自己想做的事...
这就是小混混石:)
只是想做自己想做的事... 这就是小混混石:)
ApH
ApH
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2001-11-10 16:56
Re:谁有,JDK FOR LINUX
我用的是Redhat 7.2正式版,可是上面没有呀!
另外Redhat 7.1Beta上面好像也没有???
顺便问一下jdk在Redhat7.1的哪张盘上?
kmwang
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
4C#
发布于:2001-11-10 21:31
Re:Re:谁有,JDK FOR LINUX
木木,好像没有吧,到联邦软件买128元一套的企业版肯定有,先用jcj编译吧,本地码,运行快,可惜不能跨平台了:(
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
5C#
发布于:2001-11-10 22:33
回复:Re:谁有,JDK FOR LINUX
自己编译很有难度,没有实验过。编译时用的是鸡生蛋,蛋生鸡的办法。

有哦,我有12张盘的XteamLinux,在TurboLinux的开发版里面也有。别的版本我没有用过。Soloris想当然会有,Sun的网站更有。
To KMWang:(About)RedHat我个人意见,并不算最好用的Linux:-(。
(别怪我说实话啊!当然习惯了也不分什么好不好用。如同输入法,五笔最快,但未必会习惯。可能中科院的人只会认为RedFlag最好用。)

Linux既然是Linux,是世界的,才是中国的,建议大家不要用什么中国式的Linux。(如果有真的兼容,没有分别,何必用呢?否则有分别,怎么能用!)

乱弹一下:强大应该算TurboLinux,可以按自己要求配置(bug虽然不少),但不够安全。方便易用该是Mandrake,但版本单调,没有套路。至于中文本地化的Linux,我认为Linux本来不是为初学者使用的,它的特点是简约规范,本质而且经典,很方便学习编程、控制和算法,不学点E文,不PRO一点,会让外行看笑话。作中文版本身就是悖论。(实际上大家也没有必要用中文版的WINS)
为什么WPS没有FOR LINUX?因为它有自己的本分,作Linux版赚不了钱。他们没有幻想很多老百姓会拿Linux作平台。至于大家学习Linux,如果不是准备感受Open Source带来的好处,不必浪费时间学什么Linux。Wins 32虽然大家都喊烂,可是最通用流行的东西很轻松就可以学到,何必跟自己过不去呢?如果觉得Wins没什么吸引自己可学的,建议你先编一个自己的Oicq,体验在Wins的可视话带来的方便,和网络编程、数据库访问、线程同步面临的诸多问题,一样会令你焦头烂额,兴致盎然:D。万一深入了以后问题更多。

很多好的东西,其实需要一个环境来支持。面对Linux,真是有很复杂的感情,很喜欢它,可能力有限,用它却没有用。谁编程用Emacs,并且写Lisp无限完善呢?Lex&Yacc很好,可是连KMWang也未必用它。如果没有确定的目的,mumu建议Linux应当缓学。 -------------------- 亲爱的小木头:?你回来了!
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
6C#
发布于:2001-11-10 22:40
回复:回复:Re:谁有,JDK FOR LINUX
不过话说回来,有好的东东,谁不想亲自见识一下呢?
学Linux至少可以见识一下Wins的局限,和不同思路的解决方式。比如,Wins因为是消息响应循环,Socket实现就采取了阻塞式。
学C #可以看看对C++改变在那里,那里有模糊。
大师们没有太专一于某一,而是注重合适。
[ 2001-11-10 22:45:41 mumu 修改 ]
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
7C#
发布于:2001-11-10 22:47
Re:谁有,JDK FOR LINUX
经典的东西不必要新,自己够用就行。 -------------------- 亲爱的小木头:?你回来了!
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
8C#
发布于:2001-11-10 22:52
Re:谁有,JDK FOR LINUX
跟songbai学会了新的才是最好的。
跟KMWang学会了自己的才是最好的。
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
9C#
发布于:2001-11-10 22:54
Re:谁有,JDK FOR LINUX
跟mumu学会了有用的才是最好的。
:):D;):rolleyes::fool: -------------------- 亲爱的小木头:?你回来了!
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
ApH
ApH
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
10C#
发布于:2001-11-11 13:40
Re:谁有,JDK FOR LINUX
跟大家学会了“学”才是最重要的
ApH
ApH
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
11C#
发布于:2001-11-11 14:22
Re:Re:谁有,JDK FOR LINUX
To KMWang & MuMu:
  1.What is jcj?
  2.I have download the JDK for Linux and 'rpm -i' but con't run javac/java,
    how can I set path in Linux?
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
12C#
发布于:2001-11-11 21:29
Re:谁有,JDK FOR LINUX
这里用了蛋生鸡的办法,先得编译好你的编译器,再用新的编译器编译你的新Java。
最好你先看看编译文档,有什么注意事项。详细内容我回去给你查一下。
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
kmwang
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
13C#
发布于:2001-11-11 23:40
Re:Re:Re:谁有,JDK FOR LINUX
没指路经吧,rpm包把java SDK 装在/usr/java下面,例如我的机器里面是/usr/java/jdk1.3.1_01,可执行文件在/usr/java/jdk1.3.1_01/bin下面。
可以在~/.bashrc里面加入路径。
如果你的机器P4-1.5G以上可以再装个Forte,反正我的毒龙750着实太慢。
kmwang
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
14C#
发布于:2001-11-11 23:42
Re:Re:Re:谁有,JDK FOR LINUX
jcj上次打错了。gcj
kmwang
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
15C#
发布于:2001-11-11 23:52
Re:回复:Re:谁有,JDK FOR LINUX
木木,我用Linux仅仅编程,看看他们的设计,不过我不知道你在用它干嘛,我的Linux除了汉字差点,别的还都挺好的。Yacc用的少,Lex倒是很有用,其实grep用好了,lex用起来很顺手。Emacs有那么多用户,自然有它的好处,只是我们都习惯了M$的东西罢了。我么,还在用我的kmide :)
ApH
ApH
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
16C#
发布于:2001-11-12 19:18
Re:Re:回复:Re:谁有,JDK FOR LINUX
To KMWang:
  我已经把路径设置好了,是在当前用户根目录下的".bash_profile"中设置的,书上说还有一种方法是用root用户设置"etc/profile",不知道您说的"./bashrc"是什么,能讲一讲么?
  另外:gcj是可以编译java但是我用什么来运行呢,不是还得用jdk么?那样不还是有跨平台性么?我的机器是PIII 700不知道运行Forte会怎么样,JBuild的速度我倒是见识过了,恐怖!vi难道没有对java的语法加亮???我现在用Kate写java。
  还有,我在RH KDE下写了如下测试语句:
import java.awt.*;
public class HelloFrame{
  public static void main(String[] args){
    Frame f = new Frame("Hello");
    f.setSize(200,300);
    f.show();
  }
}
编译通过,但是运行时报告说什么字体错误,这是怎么回是???
:D
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
17C#
发布于:2001-11-14 20:57
Re:谁有,JDK FOR LINUX
我学习网络的时候觉得Linux必不可少,
现在学编程,学得比较花,还够不上看懂那些经典的源程序,只好委身微软了(微软似乎看起来稍微简单)。
我现在只看Wins版本的Linux程序,比如学MySQL的API,wins版本的PERL源代码和wins的Emacs,很少用那个操作平台了。只是觉得一定要兼容它。
其实Linux我最喜爱的是gcc/grep。可惜没的用。Emacs是Richard Stallman维护的,也爱无及屋吧。 -------------------- 亲爱的小木头:?你回来了!
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
18C#
发布于:2001-11-14 20:59
Re:谁有,JDK FOR LINUX
To aph,
是不是真的编译出来jdk了,很不容易吧?
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
19C#
发布于:2001-11-14 21:11
Re:谁有,JDK FOR LINUX
原文另附有多图,针对WIN32版有较多注明。Linux平台想也大致如此。抱歉才找到。//By mumu.

到目前为止,Sun Microsystems的网站上只释出了Java2 SDK 1.3 Win32版本的原始码,而Java2 SDK Solaris/Linux版本的原始码最多只到1.2.2。因此本文内容只适用于Java2 SDK 1.3的Win32版本原始码。所有的操作皆在Windows 2000 Professional操作系统上经过测试。如果您在不同的平台上验证本文内容,或是使用将来释出的Solaris版本、Linux版本的原始码。我们无法保证会有相同的结果。



█如何编译Java2 SDK 原始码

    当我们深入了解Java2 SDK原始码之后,很多工程师必定想自己尝试修改原始码,然后进行编译,我想这是身为一个工程师最大的乐趣。当然,在我们还没有修改之前,我们也必须试着编译整个原始码,顺便测试一下原始码是否完整,因此接下来要介绍编译Java 2原始码的准备步骤和方法。
要顺利编译Java2 SDK原始码,您必须符合底下几种条件:

操作系统
    您必须在Windows NT 4.0或是Windows 2000上才能顺利编译Java 2原始码。一旦编译完成之后,所产生的执行文件或是动态连结和式库将能够在所有的Win32作业平台上执行。
    

硬设备
    在Java2 SDK原始码内附的文件之中,建议的硬设备为Pentium等级的处理器,配上至少128 MB的内存。在笔者的计算机上,Pentium III 450配上PC 100 128 MB 的内存,总共花了将近2.5个小时完成所有编译动作。如果算上编译时期遇到的一些错误以及恢复错误的时间,大概花了3个小时。
    

开发工具
    我们必须准备几项工具,他们分别是:

Microsoft Visual C++ version 6.0,并配上最新的Service pack(或者Visual Studio 97配上Service Pack 3)。
    在Java2 SDK原始码之中,存在有许多与Windows平台相关的程序代码,这些程序代码都以C语言撰写而成,为了顺利编译这些原生程序代码,我们必须要借助Visual C++编译器以便产生能在Windows平台上执行的执行档(.exe)以及动态连结和式库(.dll)。
    同时,Java2 SDK原始码之中有许多Makefile,这些Makefile是用来控制所有程序的编译动作。我们必须借助Visual C++内附的nmake.exe这个工具以帮助我们解读这些Makefile并顺利编译出整个Java2 SDK。
MKS Toolkit version 5.2以上的版本。
    MKS Toolkit是一套能够在Windows上仿真UNIX执行环境的工具,请到http://www.mks.com下载这套工具的30天试用版(正式版必须要付费)。或者如果您有订阅MDSN Profession以上的版本,您可以在光盘中找到Microsoft Windows Services for UNIX 2.0 Add-On Pack(在UNIX20_INSERV\3RDPARTY\MKS目录底下,执行x86子目录中的setup.exe即可安装)。30天试用版的功能骑士和付费版本的功能一样,只不过当您在编译Java2 SDK原始码的时候,只要用到了MKS Toolkit里的工具,就会出现一个广告画面罢了,应该不会影响您的心情才是。
Java2 SDK 1.3的可执行版本。
    相信读者们看到这个地方,一定会觉得很疑惑。奇怪,编译Java2 SDK的原始码竟然也需要Java2 SDK的协助? 不禁让人想起鸡生蛋蛋生鸡的问题,不是吗? 其实Java2 SDK在整个编译过程中,扮演的是bootstrap compiler(靴带式编译器)的角色。之所以需要Java2 SDK的原因是因为大家在编译Java程序时所使用的javac.exe核心程序竟然也是用Java撰写而成的,由于Java2 SDK的原始码有许多与平台无关、以Java程序语言所撰写的程序,因此在编译初期,我们必须借助过去旧版的Java2 SDK或是JDK帮助我们产生新版的Java2 SDK,再利用新产生的新版javac.exe编译Java2 SDK原始码内的其它 .java檔。
    当大家将所有必备的条件都准备妥当之后,接着我们要开始准备编译前的相关工作。底下的内容将有下列假设:

工具
 安装路径
 
Windows NT/2000系统所在目录
 c:\winnt
 
Microsoft Visual C++ version 6.0
 d:\Microsoft Visual Studio
 
Microsoft Visual Studio 97
 d:\Program Files\DevStudio
 
MKS Toolkit
 c:\mskdemo\mksnt
 
Java2 SDK 1.3的可执行版本
 d:\jdk1.3
 
Java2 SDK 原始码
 d:\jdk1.3-src
 

    接下来我们要设定环境变量,为了方便起见,请大家新增一个叫做env.bat的批次档,这样以后要修改环境变量的时候就不必大费周章:
如果您使用的C编译器为Microsoft Visual C++ version 6.0,那幺env.bat的内容如下:
env.bat

set MSVCDir=d:\Microsoft Visual Studio\vc98
set MSDevDir=d:\Microsoft Visual Studio\Common\MSDev98
set WinDir=c:\winnt
set include=%MSVCDir%\include;%MSVCDir%\mfc\include;%MSVCDir%\atl\include
set lib=%MSVCDir%\lib;%MSVCDir%\mfc\lib
set PATH=c:\mskdemo\mksnt;%MSVCDir%\bin;%MSDevDir%\bin;%WindowsDir%\system32;%PATH%
set ALT_BOOTDIR=d:\jdk1.3
set TMPDIR=d:\jdk1.3-src\tmp
 

    如果您使用的C编译器为Microsoft Visual Studio 97,那幺env.bat的内容如下:
env.bat

set MSVCDir= d:\Program Files\DevStudio\VC
set MSDevDir= d:\Program Files\DevStudio\SharedIDE
set WinDir=c:\winnt
set include=%MSVCDir%\include;%MSVCDir%\mfc\include;%MSVCDir%\atl\include
set lib=%MSVCDir%\lib;%MSVCDir%\mfc\lib
set PATH=c:\mskdemo\mksnt;%MSVCDir%\bin;%MSDevDir%\bin;%WindowsDir%\system32;%PATH%
set ALT_BOOTDIR=d:\jdk1.3
set TMPDIR=d:\jdk1.3-src\tmp
 

    任何一个环境变量设定有误,都会造成编译错误,请读者们务必小心。关于环境变量,底下有几件事情请读者一定要注意:

    对于PATH环境变量来说,MKS Toolkit的路径一定要出现在Microsoft Visual C++ version 6.0(或是Microsoft Visual Studio 97)的所在路径之前,否则会造成编译错误。所以请不要将PATH设定为:set PATH=%MSVCDir%\bin;%MSDevDir%\bin;c:\mskdemo\mksnt; %WindowsDir%\system32; %PATH%(MKS Toolkit出现在Microsoft Visual C++ version 6.0(或是Microsoft Visual Studio 97)的所在路径之后)
    请关闭CLASSPATH环境变量。如果您是在Windows 2000底下,请在”我的计算机”图标上按下鼠标右键,选择”内容”,点选”进阶”次页,再按下”环境变量”按钮。将出现环境变量对话框,如下图所示:


    请寻找使用者变量中或是系统变量中任何名为CLASSPATH的环境变量删除,否则在编译Java2 SDK原始码初期就会出现错误讯息。
    环境变量ALT_BOOTDIR是用来设定bootstrap compiler(靴带式编译器)的所在位置,您只要设定为Java SDK的安装位置就可以了。
    当上述准备工作全部完成之后,请开启”命令提示字符”窗口(就是DOS窗口啦!),并将目录切换到d:\jdk1.3-src\build\win32底下,在命列上输入 nmake world 此时编译Java2 SDK原始码的过程正式展开,毫无疑问地,这将是一个漫长的过程。
    在编译的过程之中,在笔者的计算机上出现了一些编译错误,在这里顺便向各位提及,顺便说明笔者的解决办法:

找不到 .properties檔:
    在编译Java2 SDK原始码的时候常常出现找不到 .properties文件的错误讯息,如果发现编译终止的原因是因为在个特定目录底下找不到某个 .properties档,那幺请读者自行搜寻 jdk1.3-src\src目录底下,一定能找到编译器所找不到的 .properties档,请将这个 .properties档复制到编译器期望该档案所在的目录底下即可解决。
找不到 .class檔:
    在编译Java2 SDK原始码初期的时候常常出现找不到 .class文件的错误讯息,笔者发现这些找不到的类别档都是放置在jdk1.3-src\ext\i18n\src\share\sun\io\底下,之所以会找不到这些.class档的缘故是因为根据Makefile里头的内容,jdk1.3-src\ext目录里的原始码会较晚编译,而我们又关掉了CLASSPATH环境变量,导致在需要这些档案的时候,这些档案尚未从 .java档编译成 .class档,很自然地编译器就无法编译。要解决这个问题,请读者们先行到jdk1.3-src\ext\i18n\src\share\sun\io\底下,输入javac *.java以产生所有需要的 .class档,然后将这些新产生的.class档复制到jdk1.3-src\build\win32\classes\sun\io这个目录底下。这样一来,就再也不会遇到找不到 .class文件的错误讯息了。
    Java2 SDK原始码的内附文件中要我们设定环境变量TMP,但是实际的测试结果,发现在这个路径似乎在编译过程中一点用处也没有,反倒是编译的时候有用到环境变量TEMP所指向的目录(在Windows 2000底下这个环境变量被设定为 %USERPROFILE%\Local Settings\Temp),不知道是不是写说明档的人不小心漏打字。
    当编译工作告一段落之后,您将可以在jdk1.3-src\build\win32目录下找到所有编译过的执行档以及 .class档,还有一些编译过程中产生的中间档。
    jdk1.3-src\build\win32\bin目录下,您将会看到所有让Java2 SDK正常运作的执行文件以及动态联结函式库。又由于我们是使用make world指令,如果您观察一下这个目录,您会发现每个档案都有最佳化版本与除错版本(ex: java.exe与java_g.exe,其它以此类推)。
    jdk1.3-src\build\win32\lib目录下将放置所有让Java程序能够顺利执行的套件函式库,例如i18n.jar等,在jdk1.3-src\build\win32\lib\ext目录下可以找到iiimp.jar等扩充套件还有一些资源档。
    jdk1.3-src\build\win32\classes目录下放置了最后会压缩成rt.jar的所有 .class檔(类别档)。

    另外,除了输入 nmake world 指令之外,Makefile之中定义了其它非world的编译选项,请参阅下表:

编译指令
 作用
 
nmake all

  
 建立Java SDK核心程序的除错版本以及最佳化版本

  
 
nmake ext
 建立Java SDK扩充程序的除错版本以及最佳化版本
 
nmake world

(同nmake world-all)
 建立all与ext中所有的程序
 
nmake releasedocs
 执行javadoc.exe以产生Java SDK说明文件
 
nmake alldocs
 执行javadoc.exe以产生在sun.*套件之下程序的所有说明文件
 
Nmake world-clobber
 删除前一次编译之后产生的所有档案和目录
 

    如果您想要了解所有的选项,请您自行开启jdk1.3-src\build\win32\Makefile或是jdk1.3-src\build\win32\makefiles\defs.nmk这两个档案做更深入的研究。

 
Java Developer Connection
 http://developer.java.sun.com/developer/
 
Java2原始码下载
 http://www.sun.com/software/communitysource/java2
 
-------------------- 亲爱的小木头:?你回来了!
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
ApH
ApH
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
20C#
发布于:2001-11-15 21:37
Re:Re:谁有,JDK FOR LINUX
不好意思,没有那么回事了,在下水平有限,既看不懂JDK源代码也没有学到那个深度,只是从sun下了一个"J2sdkse1.3.0forLinux.RPM.bin"匆匆忙忙的装了起来,只是为了体验一下,初学Linux有好多不懂的地方还得多问Kmwang & MuMu呀!:D
游客

返回顶部