JavaDoc e api in eclipse come configurarlo?

di il
8 risposte

JavaDoc e api in eclipse come configurarlo?

Ciao, ho provato a seguire qualche guida, ma non sono riuscito a risolvere.
La mia installazione è la seguente su una distro linux:
eclipse
Jdk 13
tomee plume.

Il principale problema che riscontro è che quando vado su una annotation, per alcune mi mostra la documentazione,
per altre no. Ad esempio se vado sulla classe HttpServlet o anche sull'annotation @WebServlet e poi clicco sull'icona
"open attached javadoc in a browser" mi mostra correttamente, se clicco su "Open declaration" non va, ma penso che questo
sia normale, non so...
Diversamente se provo su una annotation della JPA, ad esempio @Table che fa parte del javax.persistence mi da error 404, però
se aggiro l'ostacolo accedendo da una Classe nota come HttpServlet e poi vado su Overview, da li posso navigare
e trovare quello che mi serve...

Suppongo che si debba settare qualche path, però trovo un po' strano che lo debba fare in più punti diversi come se ogni
cosa, anche se contenuta nella stessa documentazione, debba essere definita in qualche modo.

Queste sono le prove che ho fatto:

sono andato in windows>preferences> installed JREs>edit>JavadocLocation> e messo questo (https://tomee.apache.org/tomee-8.0/javadoc) al posto di quello di default (https://docs.oracle.com/en/java/javase/13/docs/api), ma non è cambiato nulla di particolare, almeno a occhio.

poi sempre da installed JREs>edit> ho provato anche AddExternalJAR e messo il file jar delle servlet > servlet-api.jar preso dalla
cartella tomee/lib, ma non è servito a nulla e l'ho tolto.

Posso supporre che ci siano altri file.jar li dentro che fanno al caso mio, magari con la dicitura xxx-api.jar, ma non so se siano documentazioni o
cosa e se sia corretto fare così.

Suggerimenti?
Grazie.

8 Risposte

  • Re: JavaDoc e api in eclipse come configurarlo?

    ManuelDev ha scritto:


    Il principale problema che riscontro è che quando vado su una annotation, per alcune mi mostra la documentazione,
    per altre no. Ad esempio se vado sulla classe HttpServlet o anche sull'annotation @WebServlet e poi clicco sull'icona
    "open attached javadoc in a browser" mi mostra correttamente, se clicco su "Open declaration" non va, ma penso che questo
    sia normale, non so...
    Come vengono gestite tutte le "dipendenze" che usi? Con Maven? Sui repo Maven per ciascuna dipendenza ci possono anche essere i jar di sorgenti e javadoc. Per la maggior parte dei framework/librerie/API più "importanti" generalmente ci sono.
    Quindi basta solo dire a Maven di scaricare ANCHE sources/javadoc. In Eclipse, Window -> Preferences, sezione Maven, fare check su "Download Artifact Sources" e "Download Artifact Javadoc". Poi è tutto automaticamente disponibile.

    Se hai già scaricato dipendenze, basta fare un Maven -> Update Project ... e forzare l'update (c'è il checkbox apposito).
  • Re: JavaDoc e api in eclipse come configurarlo?

    Non sto utilizzando progetti con maven, vado a mano ora.

    A parte la definizione delle classi, per me sarebbe già una gran cosa poter accedere a link sopra riportato relativo alla documentazione delle api,
    poi il sorgente per ora mi interessa relativamente.
    ho provato anche tasto destro su un progetto>properties>javadocLocation ma a quanto pare mettere il link li non serve a nulla...

    Non ci sono altri modi?
    Grazie.
  • Re: JavaDoc e api in eclipse come configurarlo?

    ManuelDev ha scritto:


    Non sto utilizzando progetti con maven
    Ah, ok.

    ManuelDev ha scritto:


    A parte la definizione delle classi, per me sarebbe già una gran cosa poter accedere a link sopra riportato relativo alla documentazione delle api,
    poi il sorgente per ora mi interessa relativamente.
    Allora purtroppo devi fare tutto "a mano", jar per jar.

    Se hai fatto un normale "Java Project", ci sono diversi modi per gestire e referenziare altri jar. Generalmente l'approccio "buono" è di fare una cartella es. "lib" (o "libs") nella cartella principale del progetto e poi ci copi dentro a mano tutti i jar che servono. Ma non basta. Poi vai nelle proprietà del progetto, sezione "Java Build Path" e poi nella scheda "Libraries" usi il pulsante "Add JARs..." (NON il Add External JARs). La differenza tra i due pulsanti è che il Add External JARs "tira" dentro nel progetto un percorso "assoluto" mentre Add JARs tira dentro un percorso "relativo" rispetto alla home del progetto. Quindi il progetto è più facilmente "portabile" in un'altra directory o proprio in un'altra macchina.

    Sempre in quella scheda Libraries, se vuoi avere sorgenti/javadoc disponibili mentre scrivi il codice, devi impostarli per ciascun jar. A fianco di ciascun jar c'è il triangolino, apri e vedi diverse sottovoci, tra cui

    Source attachment: (None)
    Javadoc location: (None)

    Devi impostarle con il pulsante Edit. Chiaramente per ciascun jar devi aver preventivamente scaricato sorgenti e javadoc da qualche parte (dal Maven Central o dal sito ufficiale della libreria o altro).

    Non c'è un altro modo più "semplice", nel senso che la gestione di questi jar è tutta "a mano".


    EDIT: la stessa cosa è fattibile jar per jar dalla vista Package Explorer sotto la voce Referenced Libraries. Per ciascun jar se fai Properties puoi impostare Java Source Attachment e Javadoc Location. Sono la stessa cosa della scheda Libraries.
  • Re: JavaDoc e api in eclipse come configurarlo?

    Sempre in quella scheda Libraries, se vuoi avere sorgenti/javadoc disponibili mentre scrivi il codice, devi impostarli per ciascun jar. A fianco di ciascun jar c'è il triangolino, apri e vedi diverse sottovoci, tra cui

    Source attachment: (None)
    Javadoc location: (None)

    Devi impostarle con il pulsante Edit. Chiaramente per ciascun jar devi aver preventivamente scaricato sorgenti e javadoc da qualche parte (dal Maven Central o dal sito ufficiale della libreria o altro).
    ok grazie in libraries ho già apache tomee quindi suppongo che tutte le librerie del caso siano presenti...quelle in tomee/lib e quindi
    non debba importarle in web-inf/lib e fare il buildpath... altre libreri relative alla doc sulle jpa non saprei dove reperirle.

    ho notato però che in questo punto: Javadoc location: (None)
    il link a https://tomcat.apache.org/tomcat-9.0-doc/api è presente nella maggior parte delle lib, non le
    ho guardate tutte per ora, ma ad esempio openjpa ce l'ha ed è quello che sull'annotation non funziona.
  • Re: JavaDoc e api in eclipse come configurarlo?

    ManuelDev ha scritto:


    ok grazie in libraries ho già apache tomee quindi suppongo che tutte le librerie del caso siano presenti...quelle in tomee/lib e quindi
    non debba importarle in web-inf/lib e fare il buildpath...
    Innanzitutto, quello che hai nella tomee-XYZ/lib infatti NON serve che sia sotto WEB-INF/lib. Se il Tomee è già correttamente referenziato nel progetto, hai già implicitamente a disposizione quei jar.

    Se si tratta di ALTRI jar di librerie particolari, specifiche per la webapp, è solo sufficiente metterli fisicamente nella WEB-INF/lib. Non c'è da "importare" nulla da alcuna altra parte.

    Se vuoi configurare sources/javadoc, allora sì, devi andare nel Java Build Path, sezione Libraries e sotto "Web App Libraries" hai i jar della WEB-INF/lib e per ciascuno puoi configurare sources/javadoc.
    Come già detto, lo puoi fare anche da Package Explorer sempre sotto Web App Libraries

    ManuelDev ha scritto:


    altre libreri relative alla doc sulle jpa non saprei dove reperirle.
    In Tomee la API completa di JavaEE (che comprende ovviamente anche JPA) si trova nel jar chiamato javaee-api-XYZ.jar

    Se vuoi "attaccare" i sorgenti/javadoc a questo jar, beh ... si trovano sul Maven Central:

    https://search.maven.org/artifact/org.apache.tomee/javaee-api

    Vedi che versione hai tu di quel jar e poi fai il Download di javadoc.jar e/o sources.jar

    ManuelDev ha scritto:


    https://tomcat.apache.org/tomcat-9.0-doc/api
    Tutta la API che vedi a questo link è la API interna di Tomcat, insomma è quella che fa funzionare Tomcat. NON ti serve per lo sviluppo di una webapp.
  • Re: JavaDoc e api in eclipse come configurarlo?

    Grazie per le risposte, ho compreso ciò che hai spiegato...spero
    il link che ti avevo indicato mi ero confuso con quello del primo messaggio
    perché l'ho preso dalle lib di tomee.

    volevo dire questo: https://tomee.apache.org/tomee-8.0/javadoc

    la api di tomee è l'ultima ed è presente in tomee, è la javaee-api-8.0-3.jar.
    Questa lib punta in javadoc al path https://tomcat.apache.org/tomcat-9.0-doc/api
    ho anche provato a modificarlo, ma segnala potenziali problemi di validità, non ho continuato però...

    Quella di openjpa-3.1.0.jar punta a https://javaee.github.io/javaee-spec/javadocs
    tuttavia se passo con il mouse su una annotation es @Table o anche cliccando
    sulla voce nell'import javax.persistence.Table e poi "Open Attached.." da errore 404

    Detto questo ti dico che non ho risolto nulla e lascio perdere, vado manualmente aprendomi il link io.
    Non mi pare sia una cosa risolvibile perché i punti in cui inserire il link della doc ci sono, se li inserisci
    non si risolve e quindi qualcosa che non quadra c'è.
  • Re: JavaDoc e api in eclipse come configurarlo?

    ManuelDev ha scritto:


    volevo dire questo: https://tomee.apache.org/tomee-8.0/javadoc
    Ma lì c'è la API di JavaEE mescolata alla API "interna" di Tomee più altro. Insomma c'è "di più" di quanto in realtà ti serve per lo sviluppo JavaEE.

    ManuelDev ha scritto:


    la api di tomee è l'ultima ed è presente in tomee, è la javaee-api-8.0-3.jar.
    Bene, allora vai qui:

    https://search.maven.org/artifact/org.apache.tomee/javaee-api/8.0-3/jar

    Dal Downloads in alto-destra scarichi javadoc.jar e sources.jar e poi vai nel Build Path, cerchi il javaee-api-8.0-3.jar (che è sicuramente sotto il Tomee, se l'hai referenziato nel progetto) e assegni javadoc e sources.

    E se non vuoi scaricare nulla e ti basta solo il javadoc, allora basta che associ il url
    https://javaee.github.io/javaee-spec/javadocs
    al javadoc per il jar javaee-api-8.0-3.jar
  • Re: JavaDoc e api in eclipse come configurarlo?

    Sono riuscito grazie...non so perché prima provando a modificare il path in javadoc del javaee-api-8.0-3.jar. mi segnava warning e non ho continuato.

    Ora ho inserito il link corretto e va, non ho capito perché di default era sbagliato...forse sono stato io.

    Grazie.
Devi accedere o registrarti per scrivere nel forum
8 risposte