Cómo hacer referencia a javadocs a dependencias en el complemento eclipse de Maven cuando javadoc no está adjunto a la dependencia

StackOverflow https://stackoverflow.com/questions/44396

  •  09-06-2019
  •  | 
  •  

Pregunta

Utilizo Eclipse, Maven y Java en mi desarrollo.Utilizo Maven para descargar dependencias (archivos jar y javadoc cuando estén disponibles) y el complemento eclipse de Maven para generar los archivos .project y .classpath para Eclipse.Cuando la dependencia descargada no tiene javadoc adjunto, agrego manualmente un enlace para el javadoc en el archivo .classpath para poder ver el javadoc de la dependencia en Eclipse.Luego, cuando ejecuto el complemento eclipse de Maven para regenerar el archivo .classpath, por supuesto, borra ese cambio.

¿Hay alguna manera de configurar el complemento eclipse de Maven para agregar automáticamente atributos de ruta de clase para javadoc cuando se ejecuta el complemento eclipse de Maven?

Solo me interesan las respuestas en las que el javadoc y/o las fuentes no se proporcionan para la dependencia en el repositorio de Maven, que es mi caso más frecuente.El uso de las propiedades downloadSources y/o downloadJavadocs no solucionará este problema.

¿Fue útil?

Solución

Podría considerar evitar este problema por completo instalando el jar javadoc en su repositorio local manualmente usando el objetivo del archivo de instalación y pasando la opción -Dclassifier=javadoc.Una vez que hagas eso, el .classpath que genera mvn debería ser correcto.

Si usa un repositorio remoto como proxy para la central, también puede implementar los javadocs en ese repositorio y luego todos los demás que usen ese proxy ahora también obtendrán los javadocs automáticamente.

Otros consejos

Desde el complemento Maven Eclipse Preguntas más frecuentes

El siguiente ejemplo muestra cómo hacer esto en la línea de comandos:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true 

o en tu pom.xml:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>

Estoy ejecutando STS 2.8.1, que es básicamente eclipse + herramientas de primavera;En un proyecto maven existente, hice clic derecho en el proyecto -> maven -> Descargar fuentes y descargar JavaDocs

Como se menciona en ¿Cómo descargar fuentes y artefactos javadoc con el complemento Maven Eclipse desde otro repositorio?, Puedes hacerlo:

En Eclipse, vaya a Windows-> Preferencias-> Maven.Marque la casilla que dice "Descargue artefacto javadoc". Eso me ha funcionado bien.

Maven Preferences

Generalmente los Javadocs no se utilizan principalmente como dependencia.Porque estos no son necesarios durante la compilación ni el tiempo de ejecución.Es solo para ayudar al desarrollador mientras desarrolla o depura.

Suponiendo que utilicemos Java IDE Eclipse, podemos utilizar los documentos de Java como se hace referencia.A continuación se detallan los enfoques que podemos asociar los javadocs/fuentes con los archivos jar respectivos.

1.Si es un proyecto que no es experto:

Descargue el archivo jar javadocs o el archivo comprimido, lo que esté disponible, y colóquelo en algún directorio.Haga clic derecho en el proyecto de la aplicación en IDE Eclipse, haga clic en Propiedades y elija Ruta de compilación de Java, luego seleccione la pestaña Bibliotecas en Ruta de compilación de Java.Ahora expanda el archivo jar que desea vincular con java docs/source.Seleccione el enlace de ubicación de Javadoc y haga clic en el botón Editar, aparece una nueva ventana donde debemos elegir la ruta del jar de javadocs.Haga clic en Aceptar y hemos vinculado el javadoc/fuente con los archivos jar respectivos.

enter image description here

2.Si es un proyecto maven

Si estamos utilizando el proyecto Maven, vaya a los archivos jar en la dependencia de Maven en el proyecto en la vista Explorador de proyectos como se muestra a continuación.Ahora haga clic derecho en el archivo jar al que desea agregar el Javadoc/fuente,  elija Maven y luego haga clic en Javadoc o Fuente que desea vincular con el proyecto.Ahora el IDE descargará automáticamente el javadoc/fuente requerido y lo vinculará con el jar respectivo en el proyecto.

enter image description here

Puede verificar esto haciendo clic derecho en el proyecto en el IDE y haciendo clic en Java Build Path y seleccionando la pestaña Bibliotecas en Java Build Path y luego expandiendo el archivo jar deseado; aquí, cuando haga clic en el botón Editar, verá la ruta vinculada de el Javadoc/Fuente con el jar respectivo como se muestra a continuación en la imagen.

enter image description here

3.Si es un proyecto Maven y estamos configurando el comportamiento predeterminado:

Eclipse descargará acuáticamente el javadoc/fuente junto con el archivo jar principal requerido al inicio.De forma predeterminada, configura las instrucciones para Maven para descargar el Javadoc/fuentes de todos los archivos jar vinculados en el proyecto.

Haga clic en Windows – preferencias – seleccione Maven y haga clic en la casilla de verificación Descargar Artifact Javadoc como se muestra a continuación

enter image description here

Ahora haga clic en Aplicar y guárdelo y ahora, cuando cree un nuevo proyecto Maven, de forma predeterminada, los Javadocs se descargarán y vincularán con todos los archivos jar dependientes del proyecto.
Puede verificar haciendo clic derecho en el proyecto y Propiedades y en la ruta de compilación de Java puede ver que los javadocs están vinculados con todos los archivos jar como se muestra a continuación.

enter image description here

Si su proyecto es un proyecto Maven, entonces siempre es mejor usar el segundo enfoque porque al usar este enfoque, el IDE y Maven se encargan de descargar la versión correcta del Javadoc/fuente y también lo vinculan con el archivo jar correspondiente.

El tercer enfoque es un poco costoso porque los javadoc/fuentes se descargarán para todos los archivos jar dependientes, es posible que no esté interesado en los javadocs/fuentes para todos los archivos jar dependientes.

¿Ayudaría tener las fuentes para la dependencia?Puede indicarle al complemento de eclipse que los descargue (y consultarlos en el .classpath) con -DdownloadSources=true

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top