Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    run da riga di comando

    ciao,
    sono totalmente nuovo di java e ho un problema.
    come IDE uso netbeans, e ho del codice scritto da altri che da netbeans riesco tranquillamente a compilare e lanciare.

    nello specifico, devo lanciare un singolo file .java, non un intero progetto.
    con netbeans, vado semplicemente sull'icona del file -> tasto destro -> compile -> tasto destro -> run, e il gioco è fatto, tutto va regolarmente.

    mi chiedevo: come fare lo stesso da riga di comando?
    devo lanciare il file da matlab e mi serve quest'informazione.
    provando semplicemente a digitare "java miofile.class" ottengo una sequela di errori (in pratica i packages non mi vengono riconosciuti anche se esistono)

    potete aiutarmi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    35
    Devi settare il CLASSPATH

    leggi questo thread:
    http://forum.html.it/forum/showthrea...tare+classpath

  3. #3
    non riesco ad applicare quei suggerimenti (e gli altri che ho trovato su gugol) al mio caso - sono proprio niubbo nell'uso di java - e il problema resta.

    vediamo di darvi qualche informazione.

    nella mia cartella Java ho:
    j2re1.4.2
    jdk1.5.0_07
    jre1.5.0_06
    jre1.5.0_06

    in PATH (oltre al resto) c'è:
    C:\Programmi\Java\jdk1.5.0_07\bin

    in CLASSPATH ho:
    .;C:\Programmi\Java\jdk1.5.0_07\jre\lib;C:\Program mi\Java\j2re1.4.2\lib\ext\QTJava.zip

    il file java lo compilo direttamente da NetBeans.
    vado quindi a scrivere:

    cd C:\Daniele\riconforme\progetto\create_dict\atp-0.6.3\atp-0.6.3\build\classes\dii\atp\bin
    java NB_learn.class

    e quello che ottengo in uscita è:

    codice:
    Exception in thread "main" java.lang.NoClassDefFoundError: NB_learn (wrong name: dii/atp/bin/NB_learn)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    cosa c'è che non va?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    35
    Devi aggiungere nel CLASSPATH il percorso della cartella in cui i tuoi file .class e tutti i persorsi in cui sono memorizzati le librerie (.jar) utilizzate

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    72
    Il CLASSPATH da quel che vedo dovrebbe essere a posto stai attento però che quando lanci java da riga di comando NON devi aggiungere l'estensione:


    Es.

    java mioFile

    A differenza di quando compili:

    javac mioFile.java

    Ciao.

  6. #6
    ... e questo si può fare attraverso il parametro di -cp di java.exe giusto?
    io ci ho messo tutti i path possibili e immaginabili e ancora nulla...
    premesso che sono veramente alle prime armi e che sto lavorando su un software scritto da altri, sapresti dirmi dove posso vedere i path che dovrei inserire?

    ...grazie

  7. #7
    Originariamente inviato da david711
    Il CLASSPATH da quel che vedo dovrebbe essere a posto stai attento però che quando lanci java da riga di comando NON devi aggiungere l'estensione:


    Es.

    java mioFile

    A differenza di quando compili:

    javac mioFile.java

    Ciao.
    sì questo lo sto facendo, grazie , ma non risolve il problema

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Marsellus Wallace
    sì questo lo sto facendo, grazie , ma non risolve il problema
    Assicurati di essere posizionato correttamente sull'albero di directory: se la tua classe fa parte di un package allora devi posizionarti fuori dal package e lanciare la classe utilizzando il percorso completo del package. Esempio:

    codice:
    java nomePackage.NomeClasse
    Nel tuo caso, mi pare di capire, devi posizionarti fuori dalla directory "dii" e digitare

    codice:
    java dii.atp.bin.NB_learn
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.