& ldquo; ОШИБКА: не удалось найти java.nio.file.Paths & rdquo; при использовании Oracle JDK 1.7

Я хочу опробовать некоторые функции, появившиеся в новом Oracle JDK 1.7. Я последовал за постом: - Oracle JDK 1.7 , но пост, похоже, не помог.

Я пытался извлечь структуру для файла класса java.nio.file.Paths, но получил следующую ошибку: -

buffer@ankit:~$ javap java.nio.file.Paths ERROR:Could not find java.nio.file.Paths

Однако я могу легко получить информацию о структурах классов до JAVA SE 1.6 , вот пример: -

buffer@ankit:~$ javap java.lang.Object
Compiled from "Object.java"
public class java.lang.Object{
    public java.lang.Object();
    public final native java.lang.Class getClass();
    public native int hashCode();
    public boolean equals(java.lang.Object);
    protected native java.lang.Object clone()       throws java.lang.CloneNotSupportedException;
    public java.lang.String toString();
    public final native void notify();
    public final native void notifyAll();
    public final native void wait(long)       throws java.lang.InterruptedException;
    public final void wait(long, int)       throws java.lang.InterruptedException;
    public final void wait()       throws java.lang.InterruptedException;
    protected void finalize()       throws java.lang.Throwable;
    static {};
}

Запуск java -version дает следующий результат: -

buffer @ ankit: ~ $ java -version java version "1.7.0_09 «Среда выполнения Java (TM) SE (сборка 1.7.0_09-b05) 64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 23.5-b02, смешанный режим)

СИСТЕМНАЯ ИНФОРМАЦИЯ

buffer@ankit:~$ sudo update-alternatives --config java
[sudo] password for buffer: 
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode
  3            /usr/lib/jvm/jdk1.7.0_09/                        1         manual mode
* 4            /usr/lib/jvm/jdk1.7.0_09/bin/java                1         manual mode



buffer@ankit:~$ sudo update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/bin/javac   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/bin/javac   1061      manual mode
* 2            /usr/lib/jvm/jdk1.7.0_09/bin/javac            1         manual mode



buffer@ankit:~$ sudo update-alternatives --config javaws
There are 3 choices for the alternative javaws (providing /usr/bin/javaws).

  Selection    Path                                              Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/javaws   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/javaws   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws   1060      manual mode
* 3            /usr/lib/jvm/jdk1.7.0_09/bin/javaws                1         manual mode

Структура каталогов /usr/lib/jvm/ выглядит следующим образом: -

buffer@ankit:~$ ls -l /usr/lib/jvm/
total 24
lrwxrwxrwx 1 root   root     24 Dec  2  2011 default-java -> java-1.6.0-openjdk-amd64
drwxr-xr-x 4 root   root   4096 Nov  8 16:24 java-1.5.0-gcj-4.6
lrwxrwxrwx 1 root   root     24 Dec  2  2011 java-1.6.0-openjdk -> java-1.6.0-openjdk-amd64
lrwxrwxrwx 1 root   root     20 Oct 25 00:01 java-1.6.0-openjdk-amd64 -> java-6-openjdk-amd64
lrwxrwxrwx 1 root   root     20 Oct 25 06:59 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
lrwxrwxrwx 1 root   root     24 Dec  2  2011 java-6-openjdk -> java-1.6.0-openjdk-amd64
drwxr-xr-x 7 root   root   4096 Nov  8 16:24 java-6-openjdk-amd64
drwxr-xr-x 3 root   root   4096 Nov  8 16:24 java-6-openjdk-common
drwxr-xr-x 5 root   root   4096 Nov  8 05:48 java-7-openjdk-amd64
drwxr-xr-x 3 root   root   4096 Nov  8 05:48 java-7-openjdk-common
drwxr-xr-x 8 buffer buffer 4096 Sep 25 09:08 jdk1.7.0_09

Любая помощь будет принята с благодарностью.

2
задан 13 April 2017 в 15:24

2 ответа

исполняемый файл Java

Java состоит из множества отдельных исполняемых файлов - javac и javaws являются наиболее распространенными.

javap - это другое - при установке Java вам нужно индивидуально убедиться, что каждый исполняемый файл зарегистрирован - вы делаете это с помощью update-alternatives

sudo update-alternatives --install "/usr/bin/java" "javap" "/usr/lib/jvm/jdk1.7.0/bin/javap" 1
sudo update-alternatives --config javap

Этот ответ дает вам список отдельных исполняемых файлов. что вы можете зарегистрироваться, если хотите использовать их во время разработки.

В качестве альтернативы - вы можете использовать сторонний PPA, такой как webupd8 - но как сам разработчик, мне нравится понимать проблемы и адаптировать мою конфигурацию к моим потребностям.

0
ответ дан 13 April 2017 в 15:24

Установите его через этот PPA

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via. HTML

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: