tutorial que pom maven eclipse-plugin tycho

que - maven vs gradle



Tycho no puede resolver los paquetes de mi propia envoltura de las dependencias planas de Maven (1)

Intento crear un complemento de Eclipse que tenga dependencias con artefactos de Maven normales. Creé la siguiente estructura de proyecto:

Parent POM |- Dependencies (Third Party) /- My Code |- Bundle /- Bundle Tests

He seguido el ejemplo de Tycho itp02 pero solo uso las dependencias de terceros. Como entendí, la idea es ajustar todas las dependencias en un paquete y usarlas como entrada para mi paquete. Me las arreglé para construir e instalar el paquete Dependencias correctamente: se crea un contenedor y contiene todos los archivos JAR obtenidos del repositorio de Maven. Pero cuando intento compilar mi paquete, aparece un error que dice que los paquetes en el manifiesto de mi paquete no se pueden importar.

[ERROR] Missing requirement: MyPlugin 0.0.1.qualifier requires ''package org.apache.commons.lang.StringEscapeUtils 0.0.0'' but it could not be found [ERROR] [ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from MyPlugin 0.0.1.qualifier to package org.apache.commons.lang.StringEscapeUtils 0.0.0.", "No solution found because the problem is unsatisfiable."] -> [Help 1] org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from MyPlugin 0.0.1.qualifier to package org.apache.commons.lang.StringEscapeUtils 0.0.0.", "No solution found because the problem is unsatisfiable."]

¿Qué me estoy perdiendo?


No está muy claro a partir de su descripción cómo está configurado su proyecto o los comandos que utilizó para construirlo. Sin embargo, su "padre POM" parece sugerir que está intentando construirlo todo de una vez. Si ese es el caso, no puede mezclar proyectos pom-first (maven-bundle-plugin) y manifest-first (eclispe-plugin) en la misma compilación ver [1]. Primero debe compilar e instalar los primeros proyectos en su repositorio maven local, luego puede construir los primeros proyectos de manifestación.

Lo segundo que debe verificar es que tenga la dependencia correcta configurada y que haya configurado pomDependencies = consider como en [2].

Finalmente, si eso no ayuda, compruebe que el archivo jar en su repositorio maven local tenga un META-INF / MANIFEST.MF con las instrucciones correctas de "Exportar paquete", específicamente debe haber una línea para org.apache.commons. lang.StringEscapeUtils.

[1] http://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts#It_is_not_possible_to_mix_pom-first_and_manifest-first_projects_in_the_same_reactor_build .

[2] http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp02/build02/pom.xml