Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 29

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Quote Originariamente inviata da valia Visualizza il messaggio
    si ma se lasci il classpath con quel path li (o con spazi) il problema c'è sempre
    Ripeto!! Ho posizionato il driver su "C:\prova" che è aenza spazi e nel path del sorgente e ho messo questo path nel classpath. Compreso il .

  2. #2
    Scusa ma perché non usi un normale IDE che oltre a farti scrivere il codice ti offre la funzione per includere il jar e di far partire il tuo progetto?
    Io per i programmini più "stupidi" da uno o due classi (quelli di prova per intenderci) uso il JCreator che funziona bene e ovvio che per progetti più importanti uso Eclipse che ti offre tanti strumenti in più.

    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Scusa ma perché non usi un normale IDE che oltre a farti scrivere il codice ti offre la funzione per includere il jar e di far partire il tuo progetto?
    Io per i programmini più "stupidi" da uno o due classi (quelli di prova per intenderci) uso il JCreator che funziona bene e ovvio che per progetti più importanti uso Eclipse che ti offre tanti strumenti in più.

    Ciao.
    L'uso smodato di un IDE porta a situazioni di questo tipo.
    Usare un IDE non esclude che tu debba sapere DOVE la jvm cerca le classi che gli interessano (cioè cosa è il classpath).
    Usare l'IDE non esclude che tu debba settare il classpath, hai la mascherina grafica e sei contento, ma l'environment lo setti in ogni caso e se non sai specificarlo (correttamente evitando pollution), avere l'interfaccia grafica non cambia le cose
    RTFM Read That F*** Manual!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Ok allora proprio non capisci: anche se tu sei dentro C:\prova, se il tuo classpath è del tipo "C:\Program Files (x86)\MySQL\Connector.J 5.1; " (basta che lo accordi al tuo classpath insomma), il sistema continua a non funzionare.
    Le cose migliorano con le virgolette, non sono sicurissima che la parentesi in un path non crei problemi (non dovrebbe, ma non ci metto la mano sul fuoco).
    Ora cancella la variabile d'ambiente CLASSPATH, usa il comando

    java -cp elencoClassPath MainClass

    migliore sotto tanti punti di vista.

    Se questo funziona, fai una cosa

    set CLASSPATH elencoClassiPath

    ed esegui con

    java MainClass

    dove MainClass deve indicare il path completo

    es. se MainClass è del tipo

    org.mypackage.MainClass

    tu esegui sempre con

    java org.mypackage.MainClass


    e stavolta dovrebbe andare
    Ultima modifica di valia; 04-11-2014 a 10:30
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Quote Originariamente inviata da valia Visualizza il messaggio
    Ok allora proprio non capisci: anche se tu sei dentro C:\prova, se il tuo classpath è del tipo "C:\Program Files (x86)\MySQL\Connector.J 5.1; " (basta che lo accordi al tuo classpath insomma), il sistema continua a non funzionare.
    Le cose migliorano con le virgolette, non sono sicurissima che la parentesi in un path non crei problemi (non dovrebbe, ma non ci metto la mano sul fuoco).
    Ora cancella la variabile d'ambiente CLASSPATH, usa il comando

    java -cp elencoClassPath MainClass

    migliore sotto tanti punti di vista.

    Se questo funziona, fai una cosa

    set CLASSPATH elencoClassiPath

    ed esegui con

    java MainClass

    dove MainClass deve indicare il path completo

    es. se MainClass è del tipo

    org.mypackage.MainClass

    tu esegui sempre con

    java org.mypackage.MainClass


    e stavolta dovrebbe andare
    1) avevo già modificato il CLASSPATH con C:\prova a priori
    2) il comando che dici tu non funziona, funziona soltanto se lo metto in questa forma: java -cp elencoClassPath; MainClass
    ovvero aggiungendo il ; che concatena due comandi prompt
    3) facendo set CLASSPATH elencoClassiPath mi dà sempre errore di driver non trovato
    4) Alla fine ho risolto installando NETBEANS e creando un progetto importando i .jar che mi servivano ... a quanto pare dovrò abbandonare la programmazione senza IDE

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da valerio65 Visualizza il messaggio
    Alla fine ho risolto installando NETBEANS e creando un progetto importando i .jar che mi servivano ... a quanto pare dovrò abbandonare la programmazione senza IDE
    La programmazione senza IDE è molto utile per chi inizia con Java, perché è sicuramente molto "formativa" su tutta una serie di aspetti tra cui appunto il "classpath".
    Passare ad un IDE ti risolve le cose solo perché l'IDE semplifica e ti "nasconde" questi aspetti. Quando inizierai a fare applicazioni un po' più complesse, con svariati jar esterni, o a esportare in jar il tuo progetto o ancora a gestire le "risorse" ricercate lungo il classpath .... se già adesso hai problemi/dubbi sul classpath, quando arriverai ai casi citati, di problemi ne avrai almeno il doppio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da valerio65 Visualizza il messaggio
    1) avevo già modificato il CLASSPATH con C:\prova a priori
    2) il comando che dici tu non funziona, funziona soltanto se lo metto in questa forma: java -cp elencoClassPath; MainClass
    ovvero aggiungendo il ; che concatena due comandi prompt
    non devi concatenare niente, -cp dai il classpath di riferimento e poi devi indicare la MainClass per l'esecuzione.
    se il classpath fosse corretto ti basta

    java MainClass

    -cp elencoClassPath serve a specificare il path differente e non va terminato con ; (non ricordo documentazione che mi indica una roba del genere. Il ; lo usi come separatore (hai cioè più di una voce), non come terminatore.
    Quote Originariamente inviata da valerio65 Visualizza il messaggio
    3) facendo set CLASSPATH elencoClassiPath mi dà sempre errore di driver non trovato
    4) Alla fine ho risolto installando NETBEANS e creando un progetto importando i .jar che mi servivano ... a quanto pare dovrò abbandonare la programmazione senza IDE
    un problema di fondo esiste, ma ancora non si è capito dove setti, quanto valgono le robe che setti e perché non va.
    Quello che fai con l'IDE lo fai anche senza, risolvere un problema di classpath con l'IDE è come sparare ad una mosca con il napalm.

    Adesso fai una cosa, prompt dei comandi e scrivi

    echo %CLASSPATH%

    e dimmi cosa viene fuori.
    Poi

    SET CLASSPATH=C:\prova;.;%CLASSPATH%

    dove in c:\prova mi aspetto di trovare il jar del driver e il jar con la tua classe

    poi fai

    echo %CLASSPATH%
    e dimmi cosa vedi.

    Infine fai

    java MainClass

    Assicurati anche che chi esegue abbia i permessi di accesso al jar (in lettura).
    RTFM Read That F*** Manual!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Quote Originariamente inviata da valia Visualizza il messaggio
    non devi concatenare niente, -cp dai il classpath di riferimento e poi devi indicare la MainClass per l'esecuzione.
    se il classpath fosse corretto ti basta

    java MainClass

    -cp elencoClassPath serve a specificare il path differente e non va terminato con ; (non ricordo documentazione che mi indica una roba del genere. Il ; lo usi come separatore (hai cioè più di una voce), non come terminatore.


    un problema di fondo esiste, ma ancora non si è capito dove setti, quanto valgono le robe che setti e perché non va.
    Quello che fai con l'IDE lo fai anche senza, risolvere un problema di classpath con l'IDE è come sparare ad una mosca con il napalm.

    Adesso fai una cosa, prompt dei comandi e scrivi

    echo %CLASSPATH%

    e dimmi cosa viene fuori.
    Poi

    SET CLASSPATH=C:\prova;.;%CLASSPATH%

    dove in c:\prova mi aspetto di trovare il jar del driver e il jar con la tua classe

    poi fai

    echo %CLASSPATH%
    e dimmi cosa vedi.

    Infine fai

    java MainClass

    Assicurati anche che chi esegue abbia i permessi di accesso al jar (in lettura).
    Ragazzi mi sto sentendo seriamente cretino. Vi ho già detto innumerevoli volte che IL CLASSHPATH E' SETTATO CORRETTAMENTE poiché se faccio echo nel prompt mi spunta il percorso correto! Ecco ora vi metto tutte le prove possibili e immaginabili da prompt compreso il discorso del ; così magari mi capite e mi credete:

    codice:
    C:\prova>dir Volume in drive C has no label.
     Volume Serial Number is 2C78-A9A5
    
    
     Directory of C:\prova
    
    
    03/11/2014  17:00    <DIR>          .
    03/11/2014  17:00    <DIR>          ..
    04/11/2014  14:55             1.570 DBProva.class
    04/11/2014  15:27             1.167 DBProva.java
    10/09/2014  11:43           959.987 mysql.jar
                   3 File(s)        962.724 bytes
                   2 Dir(s)  73.975.779.328 bytes free
    
    
    C:\prova>java DBProva
    java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/
    amat_records
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at DBProva.main(DBProva.java:12)
    
    
    C:\prova>echo %CLASSPATH%
    C:\prova;.
    
    
    C:\prova>java DBProva
    java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/
    amat_records
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at DBProva.main(DBProva.java:12)
    
    
    C:\prova>SET CLASSPATH=C:\prova;.;%CLASSPATH%
    
    
    C:\prova>echo %CLASSPATH%
    C:\prova;.;C:\prova;.
    
    
    C:\prova>java DBProva
    java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/
    amat_records
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at DBProva.main(DBProva.java:12)
    
    
    C:\prova>SET CLASSPATH=C:\prova;.
    
    
    C:\prova>java DBProva
    java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/
    amat_records
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at DBProva.main(DBProva.java:12)
    
    
    C:\prova>java -cp mysql.jar DBProva
    Error: Could not find or load main class DBProva
    
    
    C:\prova>java -cp mysql.jar; DBProva
    Connessione riuscita, database: sakila
    Nomi film: 1
    
    
    C:\prova>java DBProva
    java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/
    amat_records
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at DBProva.main(DBProva.java:12)
    
    
    C:\prova>

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da valerio65 Visualizza il messaggio
    IL CLASSHPATH E' SETTATO CORRETTAMENTE poiché se faccio echo nel prompt mi spunta il percorso correto!
    No, invece non l'hai settato correttamente! Perché hai solo messo la directory. In classpath il mysql.jar va messo! Sia alla variabile CLASSPATH, sia con il -cp.

    Quindi stando in C:\prova i casi sono:

    1) Con CLASSPATH:

    set CLASSPATH=C:\prova\mysql.jar;.
    java DBProva



    2) Con -cp

    java -cp C:\prova\mysql.jar;. DBProva


    Non può non funzionare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    In tutti questi anni ho solo dovuto dire alla macchina dove si trovava la jvm, ma questo credo debba essere la base.
    Ovvio che poi se voglio includere delle librerie devo importarle, ma non credo e non capisco di questo uso smodato di cui parli.
    Va bene la possibilità di usare notepad all'inizio (anch'io ho cominciato così), ma bisogna anche cominciare a capire quando si parla di ambiente di sviluppo.

    Ciao.
    Ultima modifica di schumy2000; 04-11-2014 a 10:50
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

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 © 2026 vBulletin Solutions, Inc. All rights reserved.