PROBLEMA: jdk1.6.0_13 no Vista

10 respostas
C

Galera, estou iniciando em Java…
baixei o jdk1.6.0_13 e instalei no vista, seguindo as poucas instrucoes q encontrei em um manualzinho aq na net…
o problema eh q o meu primeiro programa o Ola Mundo (rsrs,eh a 3a vez q o faco) nao ta rodando da o seguinte erro:

C:\Program Files\Java\jdk1.6.0_13\bin>javac BemVindoNovo.java

BemVindoNovo.java:1: error while writing BemVindoNovo: BemVindoNovo.class (Acces

s is denied)

public class BemVindoNovo {

^
Meu codigo fonte(rsrsr):

public class BemVindoNovo {

public static void main(String[] args) {

System.out.println(Olá Mundo!);

}

}

Tem alguma coisa q to fazendo de errado galera??? ou o problema eh com a compatibilidade com o Vista??? Os programas Demo tb nao estao rodando…
Ajudem-me , por favor…

10 Respostas

T

Não crie arquivos nesse diretório do Windows Vista (C:\Program Files\Java\jdk1.6.0_13\bin) .
Esse diretório não está habilitado para escrita para um usuário normal, então o compilador vai ter problemas ao criar o arquivo .class nesse diretório.

Em vez disso, ajuste o PATH para que o javac possa ser acessado, e crie seus programas em um diretório seu (por exemplo, se o nome do seu usuário é “user”, vá para c:\users\user, que é um diretório onde você pode escrever sem problemas.

C

thingol:
Não crie arquivos nesse diretório do Windows Vista (C:\Program Files\Java\jdk1.6.0_13\bin) .
Esse diretório não está habilitado para escrita para um usuário normal, então o compilador vai ter problemas ao criar o arquivo .class nesse diretório.

Em vez disso, ajuste o PATH para que o javac possa ser acessado, e crie seus programas em um diretório seu (por exemplo, se o nome do seu usuário é “user”, vá para c:\users\user, que é um diretório onde você pode escrever sem problemas.

Como ajusto o PATH para q o javac possa ser acessado de outras pastas???
obrigado

C

thingol:
Não crie arquivos nesse diretório do Windows Vista (C:\Program Files\Java\jdk1.6.0_13\bin) .
Esse diretório não está habilitado para escrita para um usuário normal, então o compilador vai ter problemas ao criar o arquivo .class nesse diretório.

Em vez disso, ajuste o PATH para que o javac possa ser acessado, e crie seus programas em um diretório seu (por exemplo, se o nome do seu usuário é “user”, vá para c:\users\user, que é um diretório onde você pode escrever sem problemas.

Como ajusto o PATH para q o javac possa ser acessado de outras pastas???
obrigado

T

Você pode fazer, já que está em uma linha de comando:

PATH=%PATH%;C:\Program Files\Java\jdk1.6.0_13\bin

Digite esse comando ao entrar no Prompt de Comando. Esse comando permanece até que você feche o Prompt de Comando.

C

Valeu thingol…
consegui dessa forma criar meu arquivo.class …
POREM…esta dando esse erro:

Z:>java BemVindoNovo

Exception in thread main java.lang.NoClassDefFoundError: BemVindoNovo

Caused by: java.lang.ClassNotFoundException: BemVindoNovo

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Could not find the main class: BemVindoNovo.  Program will exit.

Pode me ajudar novamente?

T
java -cp . BemVindoNovo
C

PUTS KRA,VALEU MSM,DEU CERTO…

pode me explicar qual eh a funcao do -cp ???
sempre vou ter q usa-lo ou isso depende de onde o JDK esta instalado…???

valeu

T

Vou contar a história direitinho.

Se você digitar:

java

vai receber a seguinte listagem:

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

where options include:
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
                  show splash screen with specified image

ou seja, “-cp .” é a mesma coisa que “-classpath .”, ou seja, esse comando serve para indicar para o Java.exe que ele pode encontrar arquivos .class no diretório corrente (no seu caso “Z:”)

Se você está usando alguma apostila que omitiu esse comando "-cp . " ou “-classpath .”, pode ser que ela tenha sido escrita para uma versão mais antiga do java.exe que considerava sempre que o diretório corrente continha os arquivos .class. As versões mais novas, por motivos de segurança, precisam que você use “-classpath .”.

maior_abandonado

da uma olhadinha também aqui…

http://www.guj.com.br/article.show.logic?id=108

C

Muito Obrigado mais uma vez…
a unica coisa q li ate agora sobre Java foi esse artigo
http://www.javafree.org/artigo/871498/Tutorial-Java-O-que-e-Java.html

eh o inicio do inicio mesmo, e nao diz sobre o uso do -cp

Mas agora deu certo e to blz…
ah, encontrei uma solucao (espero q seja msm) para nao ter q ficar digitando toda hora

PATH=%PATH%;C:\Program Files\Java\jdk1.6.0_13\bin

fui ao Painel de Controle, Sistema, Avançado, Variáveis de Ambiente e adicionei na variavel Path:

C:\Program Files\Java\jdk1.6.0_13\bin

eh isso msm nao eh?? pelo menos ate o momento ta funcionando

valeu pela prontidao

Criado 29 de abril de 2009
Ultima resposta 29 de abr. de 2009
Respostas 10
Participantes 3