我正在尝试使用Java,但到目前为止还没能在我的机器上正确使用它。我真的希望能够从命令行编译。按照here说明没有错误后,我无法使用javac
进行编译。这是我到目前为止所做的:
当我进入时:
$ java -version
我明白了:
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode)
当我跑步时:
$ sudo apt-get install sun-java6-jdk
我明白了:
~$ sudo apt-get install sun-java6-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
sun-java6-demo sun-java6-doc sun-java6-source
The following NEW packages will be installed:
sun-java6-jdk
0 upgraded, 1 newly installed, 0 to remove and 9 not upgraded.
Need to get 17.4MB of archives.
After this operation, 55.7MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
sun-java6-jdk
Install these packages without verification [y/N]? y
Err http://us.archive.ubuntu.com hardy-updates/multiverse sun-java6-jdk 6-07-3ubuntu2
404 Not Found [IP: 91.189.88.140 80]
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/multiverse/s/sun-java6/sun-java6-jdk_6-07-3ubuntu2_i386.deb 404 Not Found [IP: 91.189.88.140 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
当我跑步时:
$ /media/disk/School/java/hw1$ javac HelloWorldApp,java </pre>
我明白了:
The program 'javac' can be found in the following packages:
* java-gcj-compat-dev
* openjdk-6-jdk
* gcj-4.2
* kaffe
* ecj
* jikes-sun
* jikes-sablevm
* j2sdk1.4
* jikes-classpath
* jikes-gij
* gcj-4.1
* sun-java5-jdk
* jikes-kaffe
* sun-java6-jdk
Try: sudo apt-get install <selected package>
bash: javac: command not found
当我尝试更新(使用sudo apt-get update
)时,我得到:
E: The method driver /usr/lib/apt/methods/https could not be found.
还有其他人遇到过这个问题吗?提前谢谢......
答案 0 :(得分:6)
您可以通过键入以下命令在最新版本的Ubuntu上安装JDK:
sudo apt-get install sun-java6-jdk
您可能会发现这比尝试手动设置更容易。
答案 1 :(得分:5)
试试这个:
cd /opt
chmod 755 $HOME/archives/jdk-6u16-linux-x64.bin
sudo $HOME/archives/jdk-6u16-linux-x64.bin</code>
sudo ln -s jdk1.6.0_16 jdk
$HOME/.bashrc
JAVA_HOME=/opt/jdk
PATH=$PATH:$JAVA_HOME/bin
source $HOME/.bashrc
您现在应该可以编译程序了。
我更喜欢这种方法来安装托管包,因为卸载(或升级)似乎永远不会完全删除SDK的所有部分,并且它似乎阻碍在同一台机器上同时安装多个版本的Java软件开发工具包时间。我过去曾遇到apt-get
和Java问题。此外,这种方法允许我绝对确定随时使用哪个版本的Java。
如果您不方便使用root
和/opt
,则可以使用自己的帐户和$HOME/bin/jdk
。相应地更改.bashrc
文件。
删除以前安装的任何Java版本。您可能需要重新启动终端会话。
至少从Java 1.2开始,它适用于所有Java版本。
答案 2 :(得分:2)
通常你会在PATH中找到java而不是标准的Ubuntu安装中的javac。这主要是因为安装了gcj包。还创建了可以使用 update-alternatives 脚本更新的符号链接。
安装Sun JDK后,您需要将符号链接更新为java,这通常通过类似下面的命令来完成
sudo update-alternatives --config java
如果没有(Sun)java位置的硬链接,您可以使用类似于
的命令创建它sudo update-alternatives --install / usr / bin / java java /usr/lib/jvm/jdk1.6.0_07/jre/bin/java 300
对于javac,您可以使用以下命令再次使用update-alternatives创建符号链接:
sudo update-alternatives --install / usr / bin / javac javac /usr/lib/jvm/jdk1.6.0_07/bin/javac 300
这将使javac在PATH上可用,就像java。
当然,可以通过简单的导出或更改shell配置文件来更新PATH变量。
答案 3 :(得分:0)
我在安装http://validator.nu的html验证程序时遇到了这个问题。要安装sun-java6-jdk
,我必须添加此存储库:deb http://archive.canonical.com/ lucid partner
要完成验证程序安装,我必须将$JAVA_HOME
设置(导出)到/usr/lib/jvm/java6-sun
。
将“清晰”更改为适合您的Ubuntu版本的任何内容。