繁体   English   中英

Javac没有安装openjdk-6-jdk

[英]Javac not installed with openjdk-6-jdk

我周末一直在尝试一些不同的java编译器,并决定今天早上坚持使用javac。 然后我继续清理由我的测试引起的混乱,删除了每一个java的痕迹,并在autoremove和autoclean之后做了一个新的'apt-get install openjdk-6-jdk'。

然后遇到以下怪异:

tarskin@5-PARA-11-0120:~$ javac
The program 'javac' can be found in the following packages:
 * openjdk-6-jdk
 * ecj
 * gcj-4.4-jdk
 * gcj-4.6-jdk
 * gcj-4.5-jdk
 * openjdk-7-jdk
Try: sudo apt-get install <selected package>

我已经安装了openjdk,但无论如何我试过它:

tarskin@5-PARA-11-0120:~$ sudo apt-get install openjdk-6-jdk
[sudo] password for tarskin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openjdk-6-jdk is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
tarskin@5-PARA-11-0120:~$ 

我知道我必须做一些愚蠢的事情,但我不知道是什么,如果有人能指出正确的方向,那将非常感激......

干杯

编辑:找到关于我的java发行版的“新”实例的一些其他奇怪的方面,它似乎没有认识到例如应该来自正则表达式导入耸肩的 '模式'或'匹配器'。

TL; DR:安装java-1.6.0-openjdk-devel

我在Fedora上有类似的问题,但使用rpm -q -l列出(预安装的)java-1.6.0-openjdk包的内容,发现它不包含javac。 它实际上只是一个JRE,而不是JDK,正如http://openjdk.java.net/install/上的安装说明所暗示的那样。 为了获得javac,我安装了java-1.6.0-openjdk-devel。 不完全是我所期望的,因为通常的打包约定会表明这是用于执行openjdk开发的包(即,在JVM上工作),而不是用它来开发程序。

基本上,openjdk的包命名不遵循标准的Java约定(需要在某处调用JRE),或者标准的Linux打包约定(使用-devel表示它用于开发包含w / o -devel本身)。

根据http://openjdk.java.net/install/ ,仅安装OpenJDK-6 JRE

$ sudo apt-get install openjdk-6-jre

要安装完整的JDK

$ sudo apt-get install openjdk-6-jdk

检查/etc/alternatives/usr/bin 其中一个或两个将包含已安装的旧Java版本的链接。 当这些链接断开时,您可以获得上面的错误消息。

要在安装新版本的Java之后更新链接,请尝试使用update-alternatives

首先检查是否安装了javac尝试查找该文件:1。找到javac 2.或find / -name javac

你也可以在这个网站上查看有关如何在Ubuntu上安装java的说明(我想你是在ubuntu上):

http://openjdk.java.net/install/

您还可以查看: http ://packages.ubuntu.com/hardy/i386/openjdk-6-jdk/filelist,了解pacakge安装的文件,您可以注意到应该安装javac。 也许你还需要运行:打开终端并运行此命令在Ubuntu Oneiric上安装OpenJDK 7.0:

sudo update-alternatives --config java

暂无
暂无

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

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