Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

[Help Java] Utilizzo librerie esterne


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 11 risposta/e

#1
nghuit

nghuit

    Advanced Member

  • Utente
  • StellaStellaStella
  • 333 Messaggi:
Salve a tutti,
avrei una domanda sulla programmazione java, indipendente dal corso universitario.
Mi sono imbattuto infatti in un problema, probabilmente stupido, che però non riesco a risolvere.

Ho aggiunto un paio di librerie java esterne ad un progetto che sto realizzando tramite eclipse, seguendo questa procedura:
1) tasto destro sul tuo progetto, 2) properties, 3) Java Build Path -> libraries, 4) Add External JARs

Finora tutto ok, infatti quando vado a fare gli import in una qualsiasi classe del progetto mi riconosce tutto.

Tuttavia quando vado ad istanziare qualche classe o qualche metodo definiti tramite le librerie appena inserite, mi segnala questo errore:
"NomeClasse|NomeMetodo cannot be resolved to a type"
Navigando poi il package Explorer (il menu a sinistra) e facendo doppio click sulle classi relative all'errore nelle librerie lì presenti (quelle aggiunte) mi dice:
"The source attachment does not contain the source for the file NomeClasse.class"
e mi indica di cambiare Attached Source... l'ho cambiato mettendoci di tutto ma il problema non si risolve.

Qualche saggio mi illumini! :beg:


“L'uomo può credere all'impossibile, non crederà mai all'improbabile.”
"Se si ha uno scopo da raggiungere tutto l'universo si adopera per il suo raggiungimento."

#2
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Ciao caro

Il tuo è un problema ovviamente di link e quindi di fatto non trova la definizione dell'oggetto nel pakage che hai importato: posta anche il pezzo di codice che hai provato a scrivere o quantomeno dì le librerie che hai importato e che oggetti hai usato così da avere un quadro più chiaro del problema.

Ti faccio cmq notare che la comodità di Eclipse (thank's r0x's God for Exclipse :dance: ) sta soprattutto nella praticità dello scrivere codice in quanto se faccio riferimento ad un oggetto definito in un pakage che non ho importato, mi segnala si l'errore ma se vai a passarci sopra con il mouse ti chiede , tramite menù a tendina, quali tra i possibili pakage di riferimento dover importare nel codice e fidati è una cosa molto comoda in quanto spesso e volentieri per fretta uno se ne dimentica xD :D
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#3
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
mmmm... sembrerà una domanda stupida, ma hai messo nelle tue classi java gli import?

es. import mialibreria.miopackage.miaclasse.java
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#4
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Blackjack il dio di r0x ti ha scelto come utente supremo evidentemente XD
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#5
nghuit

nghuit

    Advanced Member

  • Utente
  • StellaStellaStella
  • 333 Messaggi:

Blackjack il dio di r0x ti ha scelto come utente supremo evidentemente XD

wow che onore, allora ne approfitto subito postando immediatamente il codice prrr anzi posto direttamente tutto il progetto (tanto è solo una piccola prova) in modo da dare libertà di scandagliare ogni minimo errore che posso aver commesso (probabilmente banale :rosso: )!
Grazie :D
“L'uomo può credere all'impossibile, non crederà mai all'improbabile.”
"Se si ha uno scopo da raggiungere tutto l'universo si adopera per il suo raggiungimento."

#6
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Allora il problema è questo:
Ho controllato nella JavaDoc e non ho trovato traccia ne della libreria che hai importanto in quanto almeno nella documentazione i pakage org iniziano da "org.ietf.jgss"
quindi il problema può essere ed è ovviamente legato alla libreria che hai importato. . . In effetti ho cercato anche gli oggetti Analyzer e Dyrectory ma sia Eclipse sia la JavaDoc non hanno risposto positivamente XD al limite puoi allegare anche il sorgente Jar della libreria che hai incluso? perchè in effetti il codice è scritto bene ma il problema sta nel fatto che manca questo specifico pakage "org.apache.lucene.*;"
l'errore che hai riscontrato almeno in assenza di questo pakketto è insolvibile da parte del compilatore real-time di eclipse :D ._.
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#7
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:

Allora il problema è questo:
Ho controllato nella JavaDoc e non ho trovato traccia ne della libreria che hai importanto in quanto almeno nella documentazione i pakage org iniziano da "org.ietf.jgss"
quindi il problema può essere ed è ovviamente legato alla libreria che hai importato. . . In effetti ho cercato anche gli oggetti Analyzer e Dyrectory ma sia Eclipse sia la JavaDoc non hanno risposto positivamente XD al limite puoi allegare anche il sorgente Jar della libreria che hai incluso? perchè in effetti il codice è scritto bene ma il problema sta nel fatto che manca questo specifico pakage "org.apache.lucene.*;"
l'errore che hai riscontrato almeno in assenza di questo pakketto è insolvibile da parte del compilatore real-time di eclipse :D ._.


Invece le classi e i package ci sono!

Apri il buildpath, ti dovrebbe uscire qualcosa come nella finestra di cui ho fatto lo screen, con delle icone rosse in corrispondenza delle librerie che danno problemi. Selezionane una alla volta e clicca su Edit. Ti esce una finestra dalla quale puoi scegliere il file jar, selezioni il file giusto e l'icona rossa dovrebbe sparire.

A questo punto nella classe java devi aggiungere tutti i vari import. Devi importare ogni singolo package, perchè se fai un generico import org.apache.lucene.* ti vengono importate solo le classi di quel package, e non anche le classi di tutti i package in esso contenuti!


Blackjack il dio di r0x ti ha scelto come utente supremo evidentemente XD

Buahahahahaha XD

File allegato


Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#8
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
E bravo il dio di R0x XD mi hai insegnato una cosa nuova ti ringrazio =P
Ora però mi chiedo perchè non sono riportati nella documentazione ufficiale On Line, al limite mi documento e vi dico ora gioka l'inter a dopoooo XD

[Edit]: blackgiack mi linki il path delle libreria di cui hai compiuto l'editing con la procedura che hai indicato?? XD non le trovo se ti devo essere onesto e mi piacerebbe capirci qualcosa XD grazieeeeeeeeeeee
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#9
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
non sono sicuro di aver capito cosa volevi sapere, cmq quei file jar si trovano in Progetto\LIBS

ci sarebbe anche un terzo package nel build path, che si chiama pdf qualcosa... per quello il jar non c'è proprio mi sa...
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#10
nghuit

nghuit

    Advanced Member

  • Utente
  • StellaStellaStella
  • 333 Messaggi:
Grazie davvero ad entrambi per l'aiuto, siete stati gentilissimi! :cheers:
cmq sì c'è un terzo package nel progetto ma ho eliminato il jar dal file .rar che vi ho mandato perché era troppo pesante, oltre che superfluo per capire come risolvere il problema. Problema che ho risolto proprio come ha detto Blackjack (anche se le icone non erano rosse né di altro colore), pur se mi è sembrato così strano che tutto ciò non fosse già stato fatto da eclipse in automatico... cioé se ci fossero stati mille package avrei dovuto selezionare 1000 volte il Jar d'origine!?
“L'uomo può credere all'impossibile, non crederà mai all'improbabile.”
"Se si ha uno scopo da raggiungere tutto l'universo si adopera per il suo raggiungimento."

#11
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:

cioé se ci fossero stati mille package avrei dovuto selezionare 1000 volte il Jar d'origine!?


oddio no! :ggg:
in teoria dovrebbe fare tutto eclipse, forse sei tu che hai fatto qualcosa di strano all'atto di importare le librerie oppure semplicemente eclipse ha dato i numeri... :scratch:
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#12
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Probabilmente perchè hai provato ad importare una libreria nuova o non standard, io ancora non mi capacito che non sia presente nella javadoc XD cmq non avevo controllato nel Path del progetto che ci avevi inviato in effetti ora funziona tutto, evidentemente Eclipse ha una cartella specifica da dove linka "in automatico" i pakages (detto molto con i guanti perchè cmq sei tu a dover specificare cosa importare sebbene l'ambiete te lo suggerisca) cmq l'importante è che abbiamo capito che è che non andata XD bye bye fingerup
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi