studio - maven goals eclipse
Obtenga archivos jar de origen adjuntos a Eclipse para dependencias gestionadas por Maven (17)
Estoy usando Maven (y la integración Maven Eclipse) para administrar las dependencias de mis proyectos Java en Eclipse. La función de descarga automática para archivos JAR de los repositorios Maven es un ahorro de tiempo real. Desafortunadamente, no incluye la documentación de la API y el código fuente.
¿Cómo puedo configurar Maven para que también obtenga automáticamente los archivos adjuntos de origen y javadoc y los registre correctamente con Eclipse?
Cambiando pom para maven-eclipse-plugin para incluir source / javadoc solo aplica para nuevas dependencias que se agregan a pom. Si necesitamos solicitar dependencias existentes, debemos ejecutar mvn dependency: sources. Verifiqué esto.
Comprobar el origen de descarga / javadoc en la preferencia de Eclipse-Maven, a veces no es suficiente. En caso de que maven no los descargue por alguna razón (¿un apagón de la red?), Maven crea algunos archivos * .lastUpdated, y luego nunca volverá a descargarlos. Mi solución empírica fue eliminar el directorio de artefactos de .m2 / repository, y reiniciar el espacio de trabajo de eclipse con la fuente de descarga / javadoc activada y los proyectos de actualización al inicio también. Después de que se haya reiniciado el espacio de trabajo, es posible que algunos proyectos se marquen como erróneos, mientras se está descargando el progreso del eclipse, luego se borrará cualquier error. Tal vez este procedimiento no sea tan "científico", pero para mí sí lo logró.
Después de establecer las propiedades en el nivel del proyecto o en el nivel de propiedades del usuario, haga un Maven -> Actualizar proyecto (Forzar actualización). Descarga las fuentes
Estoy seguro de que el plugin de m2eclipse Maven para Eclipse, al revés, puede hacer eso. Puede configurarlo para descargar automáticamente los archivos de origen y javadoc automáticamente.
Esto se logra yendo a Ventana> Preferencias> Maven y verificando las opciones "Descargar fuentes de artefactos" y "Descargar artefactos JavaDoc".
Haga clic derecho en proyecto -> maven -> fuentes de descarga
He agregado la configuración pom al plugin maven-eclipse para descargar fuente y javadocs, pero creo que eso ocurrirá con nuevas dependencias, no con las existentes.
Para las dependencias existentes, busqué en el explorador de paquetes las "Dependencias Maven" y hice clic derecho en commons-lang-2.5.jar, Maven seleccionado | Fuentes de descarga y ... nada parecía suceder (sin barra de progreso o indicación de que estaba haciendo algo). Sin embargo, lo descargué, ya que ahora puedo saltar a la fuente en commons-lang.
Intenté windows-> pref ..-> Maven Pero no funcionaba. Por lo tanto, creé una nueva ruta de clase con el comando mvn eclipse: eclipse -DdownloadSources = true y actualicé el espacio de trabajo una vez. voila ... Se adjuntaron fuentes.
La entrada del jar fuente está disponible en la ruta de clase. Por lo tanto, la nueva construcción resolvió el problema ...
Las otras respuestas sobre este trabajo, pero si quiere evitar tener que recordar los argumentos de la línea de comandos, también puede agregar las descargas y descargar la configuración de Javacs a la sección maven-eclipse-plugin de su pom.xml:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
... other stuff ...
</configuration>
</plugin>
</plugins>
</build>
...
</project>
Para Indigo (y probablemente Helios), las casillas de verificación mencionadas anteriormente se encuentran aquí:
Ventana -> Preferencias -> Maven
Prefiero no poner la configuración de descarga de fuente / Javadoc en el archivo pom.xml
del proyecto, ya que creo que estas son preferencias del usuario, no propiedades del proyecto. En cambio, los coloco en un perfil en mi archivo settings.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>sources-and-javadocs</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sources-and-javadocs</activeProfile>
</activeProfiles>
</settings>
Si está usando meclipse do
ventana -> maven -> Descargar fuentes de artefactos (seleccionar control)
(Si aún recibe la ventana de adjuntar fuente, haga clic en el botón adjuntar archivo y cierre la ventana de adjuntar fuente. La próxima vez que intente ver la fuente se abrirá la fuente correcta)
Surajz
Si los archivos fuente están en el repositorio local y está utilizando el soporte de Eclipses maven, las fuentes se adjuntarán automáticamente. Puede ejecutar la mvn dependency:sources
para descargar todos los mvn dependency:sources
origen para un proyecto determinado. Sin embargo, no estoy seguro de cómo hacer lo mismo con la documentación.
También hay una pregunta similar que responde esto e incluye ejemplos de configuraciones de pom.
Tuve un problema similar, y la solución que mejor funcionó para mí fue incluir la fuente en el mismo contenedor que el código compilado (por lo que un directorio determinado en el Foo.java
incluiría tanto Foo.java
como Foo.class
). Eclipse asocia automáticamente la fuente con el código compilado y automáticamente proporciona JavaDoc desde la fuente. Obviamente, eso solo es útil si controlas el artefacto.
en mi versión de Eclipse helios con m2Eclipse no hay
window --> maven --> Download Artifact Sources (select check)
En la ventana solo aparece "nueva ventana", "nuevo editor", "perspectiva abierta", etc.
Si haces clic derecho en tu proyecto, eliges maven -> fuentes de descarga
No pasa nada. no se descargan las fuentes, no se actualizan los archivos pom, no aparece una ventana preguntando qué fuentes.
Hacer mvn xxx fuera del eclipse es peligroso - algunos comandos no funcionan con m2ecilpse - Lo hice una vez y perdí todo el proyecto, tuve que volver a instalar eclipse y empezar de cero.
Todavía estoy buscando una manera de hacer que ecilpse y maven encuentren y usen la fuente de los jar externos como servlet-api.
overthink sugirió usar la configuración en el pom:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
... other stuff ...
</configuration>
</plugin>
</plgins>
</build>
...
Primero pensé que esto todavía no conectaría el javadoc y las fuentes (como lo intenté sin éxito con esa opción -DdownloadSources antes).
Pero sorpresa: el archivo .classpath IS obtiene sus fuentes y javadoc adjunto cuando usa la variante POM.
mvn eclipse:eclipse -DdownloadSources=true
o
mvn eclipse:eclipse -DdownloadJavadocs=true
o puede agregar ambas banderas, como señala Spencer K.
Además, la porción =true
no es necesaria, por lo que puede usar
mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs