繁体   English   中英

让Java JDK在ubuntu上编译

[英]Getting Java JDK to compile on ubuntu

我正在尝试使用Java,但到目前为止还没能在我的机器上正确使用它。 我真的希望能够从命令行编译。 按照这里的说明没有错误我无法用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.

还有其他人遇到过这个问题吗? 提前致谢...

您可以通过键入以下命令在最新版本的Ubuntu上安装JDK:

sudo apt-get install sun-java6-jdk

您可能会发现这比尝试手动设置更容易。

尝试这个:

  1. 将Java SDK下载到$ HOME / archives(例如,$ HOME / archives / jdk-6u16-linux-x64.bin)。
  2. 将Java解压缩到/ opt(如果您不想使用root,则将其解压缩到其他位置)。 例如:
cd /opt
chmod 755 $HOME/archives/jdk-6u16-linux-x64.bin
sudo $HOME/archives/jdk-6u16-linux-x64.bin</code>
  1. 创建符号链接(以便于升级):
sudo ln -s jdk1.6.0_16 jdk
  1. 编辑$HOME/.bashrc
  2. 附加以下行:
JAVA_HOME=/opt/jdk
PATH=$PATH:$JAVA_HOME/bin
  1. 重新加载环境变量:
source $HOME/.bashrc

你现在应该能够编译程序了。

我更喜欢这种方法来安装托管包,因为卸载(或升级)似乎永远不会完全删除SDK的所有部分,并且它似乎阻碍了同时在同一台机器上安装多个版本的Java软件开发工具包。 我以前遇到过apt-get和Java的问题。 此外,这种方法允许我绝对确定随时使用哪个版本的Java。

如果您不习惯使用root/opt ,则可以使用自己的帐户和$HOME/bin/jdk 相应地更改.bashrc文件。

删除以前安装的任何Java版本。 您可能需要重新启动终端会话。

这适用于所有Java版本,至少从Java 1.2开始。

通常你会在标准的Ubuntu安装中找到PATH中的java而不是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变量。

我从http://validator.nu安装html验证器时遇到了这个问题。 要安装sun-java6-jdk我必须添加此存储库: deb http://archive.canonical.com/ lucid partner

要完成验证器安装,我必须将我的$JAVA_HOME设置(导出)到/usr/lib/jvm/java6-sun

将“清醒”更改为适合您的Ubuntu版本的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM