usar tutorial programming plugin homepage español consola compiler como comandos java maven compiler-errors

java - tutorial - Maven compilar: el paquete no existe



maven tutorial español (3)

No estoy seguro de si hubo daños en el archivo o qué, pero después de confirmar la configuración correcta de pom, pude resolver este problema eliminando el archivo jar de mi repositorio m2 local, lo que obligó a Maven a descargarlo nuevamente cuando ejecuté las pruebas.

Tengo un problema de maven (aparentemente) simple que no puedo resolver. En mi POM he especificado una dependencia para openrdf-sesame como esta:

<dependency> <groupId>org.openrdf.sesame</groupId> <artifactId>sesame-runtime</artifactId> <version>2.7.2</version> </dependency>

Ejecutar el proyecto desde eclipse funciona bien, incluso puedo exportar un archivo jar ejecutable. Desafortunadamente, no puedo hacer que funcione correctamente a través de cmd-line maven. Para construir un tarro, he agregado lo siguiente a mi pom:

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>foo.bar.Cli</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>

La compilación falla con los siguientes errores:

.../PLDReducer.java:[25,29] package org.openrdf.rio.rdfxml does not exist .../PLDReducer.java:[27,33] package org.openrdf.sail.nativerdf does not exist .../LowPLDReducer.java:[25,29] package org.openrdf.rio.rdfxml does not exist .../Cli.java:[23,33] package org.openrdf.sail.nativerdf does not exist .../SchemaBuilder.java:[30,33] package org.openrdf.sail.nativerdf does not exist .../RepoQuerier.java:[23,33] package org.openrdf.sail.nativerdf does not exist .../PLDReducer.java:[78,44] cannot find symbol

Extrañamente, tan pronto como agrego el complemento de compilación al pom y actualizo la configuración del proyecto, eclipse parece que ya no se compila. He revisado mi repositorio, y todos los archivos de sésamo están ahí.

mvn --version da esta salida:

Apache Maven 2.2.1 (rdebian-8) Java version: 1.6.0_27 Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "3.8.0-25-generic" arch: "amd64" Family: "unix"

Veo que parece apuntar a un jre, pero mi búsqueda en Google indicó que vería otro error si no se encuentra el compilador. He pegado el POM completo aquí , si es de alguna ayuda.

¿Hay algo que me falta? No puedo encontrar ningún error en mi POM.


No incluye una etiqueta <scope> en su dependencia. Si lo añades, tu dependencia se convierte en algo así como:

<dependency> <groupId>org.openrdf.sesame</groupId> <artifactId>sesame-runtime</artifactId> <version>2.7.2</version> <scope> ... </scope> </dependency>

La etiqueta de "alcance" le indica a Maven en qué etapa de la compilación se necesita su dependencia. Los ejemplos de los valores que se deben incluir son "prueba", "proporcionado" o "tiempo de ejecución" (omita las comillas en su pom). No conozco tu dependencia, por lo que no puedo decirte qué valor elegir. Consulte la documentación de Maven y la documentación de su dependencia.


Tienes que agregar la siguiente dependencia a tu compilación:

<dependency> <groupId>org.openrdf.sesame</groupId> <artifactId>sesame-rio-api</artifactId> <version>2.7.2</version> </dependency>

Además, sugeriría echar un vistazo profundo a la documentación sobre cómo usar la biblioteca.