2009-09-03 2 views
6

Я пытаюсь начать работу с Java, но до сих пор не смог получить его на своей машине должным образом. Мне очень хотелось бы скомпилировать из командной строки. После выполнения инструкций here без ошибок я не могу скомпилировать с javac. Вот то, что я до сих пор:Получение Java JDK для компиляции на ubuntu

Когда я вхожу:

$ 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

Что вы подразумеваете под "can not compile"? Не можете найти программу javac? Сбор ошибок? –

+0

У вас установлена ​​среда выполнения Java. Вероятно, у вас нет установленных средств разработки (где живет компилятор) –

+1

Похоже, в данный момент ваше конкретное зеркало не может быть подключено.Проблема может быть с обеих сторон. Вы снова попробовали? Это определенно похоже на проблему с обновлением apt-get. – 2009-09-03 17:36:57

ответ

6

Вы можете установить JDK на последних версиях Ubuntu, введя следующую команду:

sudo apt-get install sun-java6-jdk 

Вы могли бы найти это проще, чем пытаться установить его вручную.

+0

добавил эту информацию к исходному сообщению ... – danwoods

+0

@danwoods: вы, вероятно, не получили обновленный индекс. Попробуйте «sudo apt-get update», а затем попробуйте установить еще раз. –

+0

Видимо проблема больше, чем я думал. Я добавил результаты этой команды в мой исходный пост – danwoods

1

Обычно вы найдете java в PATH, а не javac в стандартной установке Ubuntu. Это связано прежде всего с пакетом gcj, который устанавливается. Также создаются символические ссылки, которые могут быть обновлены с использованием сценария обновления .

После установки Sun JDK, вам необходимо обновить символическую ссылку на Java, и обычно это делается с помощью команды, аналогичной той ниже

SUDO ДОПОЛНЕНО альтернатив --config Java

Если жестких ссылок на местоположение (Sun) java нет, вы можете создать его с помощью команды, аналогичной

sudo update-alternatives --install/usr/bin/java java/usr/lib/jvm/jdk1. 6.0_07/jre/bin/java 300

В случае javac вы можете создать символическую ссылку, снова используя альтернативы обновлений, используя:

sudo update-alternatives --install/usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_07/ bin/javac 300

Это сделает javac доступным на PATH, точно так же как java.

Конечно, есть возможность обновления переменной PATH с помощью простого экспорта или с помощью изменений в файле конфигурации оболочки.

+0

Я не верю, что это верно в последних версиях Ubuntu. Установка, как я упоминал выше, должна установить javac и сделать ее доступной без каких-либо символических ссылок. –

+0

Я не проверял его 9.04. Но я сделал это на версиях 6.x-7.x. Наверное, не на 8.x. Но у меня есть туманные воспоминания о проблемах конфигурации в разных версиях. –

+0

Ну, я думаю, что 8.04 была первой версией, включающей официальное солнце .debs. Они работают намного лучше, чем пытаться установить вручную, как это было необходимо в предыдущих версиях. –

5

Попробуйте это:

  1. Скачать Java SDK в $ HOME/архивов (например, $ HOME/архивы/JDK-6u16-линукс-x64.bin).
  2. Извлечь Java в/opt (или другое место, если вы не хотите использовать root). Например:

    кд/выбрать
    CHMOD 755 $ HOME/архив/JDK-6u16-линукс-x64.bin
    Sudo $ HOME/архив/JDK-6u16-линукс-x64.bin

  3. Создание символической ссылки (для облегчения обновления):

    Судо пер -s jdk1.6.0_16 JDK

  4. Отредактируйте $ HOME/.bashrc

  5. Append следующие строки:

    JAVA_HOME =/опт/JDK
    PATH = $ PATH: $ JAVA_HOME/бен

  6. Reload переменные среды:

    источник $ HOME/.bashrc

Теперь вы должны быть в состоянии скомпилировать программы.

Я предпочитаю этот метод установки управляемого пакета, поскольку удаление (или обновление) никогда не удаляет все биты SDK безупречно и, похоже, препятствует установке нескольких версий набора программного обеспечения Java Software Development на той же машине на в то же время. У меня были проблемы с apt-get и Java в прошлом. Кроме того, этот метод позволяет мне быть абсолютно уверенным, какая версия Java используется в любое время.

Если вам не удобно с помощью root и /opt, то вы можете использовать свой аккаунт и $HOME/bin/jdk. Измените файл .bashrc.

Удалите любую версию Java, которую вы ранее установили. Возможно, вам потребуется перезапустить сеанс терминала.

Это работает для всех версий Java с по крайней мере Java 1.2.

+1

Этот метод действительно работает. Хотя это может показаться чересчур сложным. – Dananjaya

+0

Это просто то, что нужно сделать *, чтобы исправить такие проблемы – diegoaguilar

0

Я просто столкнулся с этой проблемой при установке html-валидатора с http://validator.nu. Для установки sun-java6-jdk я должен был добавить этот репозиторий: deb http://archive.canonical.com/ lucid partner

Для завершения проверки достоверности установить, я должен был установить (экспорт) мой $JAVA_HOME в /usr/lib/jvm/java6-sun.

Измените «ясное» на все, что подходит для вашего издания Ubuntu.

Смежные вопросы