2011-12-01 10 views
22

Sto scambiando un database di derby per uno MySQL. Avevo tutto funzionante prima, ma dopo quello che pensavo fosse la configurazione corretta ricevo l'errore:Il collegamento di un database MySQL a Glasspath classpath non è impostato o il nome di classe è errato

Causato da: javax.resource.ResourceException: il nome della classe è errato o il percorso di classe non è impostato per: com.mysql.jdbc .jdbc2.optional.MysqlDataSource

output di errore completa dalla console:

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource 
at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:292) 
at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:114) 
at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:1292) 
at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:148) 
at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:101) 
at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87) 

ho controllato due volte alcuni dei nomi, il pool di connessioni e altre resources.I've anche aggiunto i .jars driver MySQL alla biblioteca di glassfish in entrambi i progetti. Il database funzionava sicuramente correttamente tramite eclipse perché ero in grado di visualizzare tabelle e visualizzare le risorse all'interno del contesto del database di eclipse. Quindi so che almeno QUESTI driver funzionano correttamente. Anche il file persistence.xml sembra buono. fa riferimento al riferimento jdbc/mydatabase jndi come dovrebbe e l'opzione predefinita JTA è selezionata come tipo di manion.

Qualcuno ha un altro suggerimento? Grazie

+0

Dice quasi la stessa cosa: Ping Connection Pool per mysqlstatuspool non è riuscito. Ping failed Exception - Il nome della classe è sbagliato o il percorso di classe non è impostato per: com.mysql.jdbc.jdbc2.optional.MysqlDataSource Controllare il server.log per maggiori dettagli. Ping failed Exception – Randnum

+0

Non ho mai dovuto impostare manualmente il classpath per questo pool di connessioni quando stavo usando il database di derby, quindi spero che se qualcuno pensa che sia quello che devo fare loro possono spiegare dove si trova la risorsa e come esattamente per farlo. – Randnum

+0

il nome di classe dell'origine dati: com.mysql.jdbc.jdbc2.optional.MysqlDataSource è stato generato automaticamente per me nella finestra di amministrazione, quindi non l'ho selezionato e non so da dove proviene. – Randnum

risposta

35

I've also added the MySQL driver .jars to the library of glassfish in both projects.

Apparentemente non è stato fatto bene. Il JAR deve andare nella cartella /glassfish/domains/[domainname]/lib/ext dell'installazione di Glassfish in cui [domainname] di solito è impostato su domain1. Puoi e non dovresti configurarlo da Eclipse.

+0

Ok non l'ho aggiunto in questo modo. L'ho aggiunto facendo clic destro sulla libreria glassfish in eclissi e nelle librerie utente selezionando la nuova libreria di connettori e selezionando il mio jar da lì.Proverò il tuo suggerimento. Grazie – Randnum

+1

Annulla queste modifiche. – BalusC

+0

Grazie BalusC ha funzionato alla grande. – Randnum

21

Sembra che risponda molto tardi, ma comunque le persone che si riferiscono a questo thread potrebbero trovare utili le seguenti informazioni. Così sto inviando qui:

  1. Scarica il vaso di connettore dal http://dev.mysql.com/downloads/connector/j/5.0.html
  2. decomprimere il pacchetto e copiare mysql-connector-java-Verno-bin.jar
  3. passato lo stesso a [GlassFish directory di installazione]/domini/[nome di dominio]/cartella lib
  4. riavviare il tuo dominio e ping per controllare la connessione in JDBC Connection Pool

ci si va. Se MySql è in esecuzione, eseguirà correttamente il ping del DB

+3

Il riavvio del dominio non ha aggiornato tutte le proprietà aggiuntive del pool di connessioni. (Avevo creato la piscina prima di copiare il barattolo.) Potrebbe essere utile per qualcuno sapere che dovresti semplicemente ricreare la piscina dopo aver copiato il vaso. Tutto ha funzionato per me dopo che l'ho fatto. – w3bshark

5

Ho copiato il file jar in $glassfish_install_folder\glassfish\lib, dopo che ha funzionato. Io uso glassfish 4.0.

Controllare questo link da Oracle.

Problemi correlati