“ERRO: Não foi possível encontrar java.nio.file.Paths” ao usar o Oracle JDK 1.7

2

Eu quero testar alguns recursos lançados no novo JDK 1.7 da Oracle. Eu segui o post: - Oracle JDK 1.7 mas o post não parece ajudar.

Eu estava tentando buscar a estrutura do arquivo java.nio.file.Paths class, mas recebi o seguinte erro: -

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

No entanto, eu posso facilmente obter informações sobre estruturas de classes até o JAVA SE 1.6, aqui está um exemplo: -

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 {};
}

A execução do java -version fornece o seguinte resultado: -

  

buffer @ ankit: ~ $ java -version versão java "1.7.0_09" Java (TM) SE   Ambiente de tempo de execução (build 1.7.0_09-b05) Java HotSpot (TM) 64-Bit   VM do servidor (compilação 23,5-b02, modo misto)

INFORMAÇÕES DO SISTEMA

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

A estrutura de diretórios de /usr/lib/jvm/ é a seguinte: -

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

Qualquer ajuda seria muito apreciada.

    
por Ankit 23.11.2012 / 08:16

2 respostas

2

java executável

O Java consiste em muitos executáveis individuais - javac e javaws são os mais comuns.

javap é outra - ao instalar o Java, você precisa assegurar individualmente que cada executável foi registrado - você faz isso com update-alternatives

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

Esta resposta fornece uma lista dos executáveis individuais que você pode registrar, caso deseje usá-los durante o desenvolvimento.

Como alternativa, você pode usar um PPA de terceira parte, como webupd8 , mas, como desenvolvedor, gosto de entender os problemas e adaptar minha configuração às minhas necessidades.

    
por fossfreedom 23.11.2012 / 10:32
1

Instale-o através deste PPA

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

link

    
por Srinivas Gowda 23.11.2012 / 08:41