Java 如何在64位linux上安装j2sdk 1.4.2?

Java 如何在64位linux上安装j2sdk 1.4.2?,java,linux,ubuntu,ubuntu-10.04,Java,Linux,Ubuntu,Ubuntu 10.04,我在64位linux(Ubuntu 10.04)上安装java j2sdk 1.4.2时遇到问题。有人处理过吗 联阿援助团 2.6.32-25-generic#44 Ubuntu SMP周五9月17日20:05:27 UTC 2010 x86_64 GNU/Linux 我运行一个自解压文件 sudo./j2sdk-1_4_2_02-linux-i586.bin 但我明白了 尾部:无法打开“+473”进行读取: 没有这样的文件或目录 没有答案。在尝试手动安装软件之前,您应该始终选择Ubuntu的软

我在64位linux(Ubuntu 10.04)上安装java j2sdk 1.4.2时遇到问题。有人处理过吗

联阿援助团

2.6.32-25-generic#44 Ubuntu SMP周五9月17日20:05:27 UTC 2010 x86_64 GNU/Linux

我运行一个自解压文件

sudo./j2sdk-1_4_2_02-linux-i586.bin

但我明白了

尾部:无法打开“+473”进行读取: 没有这样的文件或目录


没有答案。

在尝试手动安装软件之前,您应该始终选择Ubuntu的软件包管理系统

您想安装过时的Java版本1.4.2有什么原因吗?最好安装最新的Java版本,即版本6。请注意,Sun Java 6与1.4.2向后兼容;在1.4.2上运行的任何东西也将在Java6上运行

还要注意,您可以使用“javac-target1.4”来确保生成的类文件与1.4JVM兼容

如果您安装Sun Java 1.4.2确实有特殊原因:Ubuntu可与.deb(Debian)软件包一起使用。

请尝试“chmod a+x…” 这个软件包适用于64位操作系统吗?如何在32位操作系统上运行它? 当您运行“sudo./j2sdk-1_4_2_02-linux-i586.bin”时,您真的在同一条路径上吗?如何尝试使用绝对路径


显然,@Jeroen Rosenberg的方法要好得多

问题在于ubuntu tail命令不理解“tail+”语法。您需要编辑该文件,注意不要损坏473行之后的内容,而是将tail命令替换为“tail-n+473”。这会让你克服这个问题。

你也可以用bash脚本、别名或其他东西临时替换tail命令二进制文件,以你想要的方式处理参数:)

是的,我确实必须安装过时的Java版本来修复现有的程序。它必须在1.4.2中编译,当然我是从存储库安装JDK 5和JDK 6的。但可以理解的是,1.4.2并不存在,您可以使用编译器标志来表示您希望编译为Java4。只需执行:javac-source1.4。这不是安装过时JDK imho的原因。可能是-target,而不是-source。这可能还不够,他可能需要旧的--bootclasspath和--extdir。不是100%确定。是的,我知道“chmoda+x”是必须的。感谢您提出完整路径的想法,但它也不起作用。不幸的是,现在32位操作系统的改变对我来说并不适用(或者至少对复杂的操作系统是不适用的)。很高兴这能奏效。编写需要在各种Linux版本中工作的脚本是一个问题——并非所有版本都支持相同的命令标志。Solaris支持使用“tail+”从文件中的特定行开始直到结束,我几乎可以肯定我在较旧版本的Linux上使用了这种形式的tail(通过在执行tail+之前设置_POSIX2_VERSION=199209,它以这种方式工作)有可能看起来不太聪明:-):我首先试图通过编辑文件来进行替换,这显然损坏了我的文件,因此我使用了以下命令来进行替换:
sed-I的/tail+/tail-n+/'j2sdk-1_4_2-linux-i586.bin
@Dominique如果可行,那就更好了——这比手工编辑容易多了。我很想避免使用一个会破坏原始文件的
sed-I
,并将其发送到一个新文件,因此如果sed一开始不起作用,您仍然可以使用原始文件。我手动编辑了该文件,这导致校验和失败@多米尼克的
sed
解决方案创造了奇迹!