No se puede importar clases del tarro

vs97:

Estoy teniendo problemas para importar las clases de una biblioteca JAR en mi proyecto. Por favor, vea la pantalla.

He intentado varias cosas tanto en Eclipse y IntelliJ, tanto directamente añadiendo y añadiendo a través de Maven. Nada de esto ayuda, sigo teniendo un subrayado rojo.

En IntelliJ Traté:

  1. Estructura del proyecto - Módulos - Dependencias - Añadir frasco.
  2. Intentado crear una carpeta lib, agregarlo como una biblioteca y colocar el frasco en el interior y luego configuración como la dependencia.
  3. Adición a través pom.xml maven con el camino directo a la jarra.

En Eclipse Traté:

  1. Java Build Path y agregarlo a mi trayectoria de la estructura.
  2. Maven - Proyecto de Actualización.

Aquí está mi pom.xml para conseguir el tarro local.

<dependency>
  <groupId>uk.co.pervasive_intelligence.simulator</groupId>
  <artifactId>protocol</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>C:\Users\Vas-DELL\Desktop\simulator-1.2.2.jar</systemPath>
</dependency>

Curiosamente, yo soy capaz de ver el frasco y las clases dentro de la jarra (captura de pantalla). Pero todavía no puede importarlos. Que me haga saber por favor si hay algo más que pueda proporcionar.

Captura de pantalla

Martín Zaragoza :

Crear un lib / dir en la raíz de la carpeta del proyecto. Poner su tarro allí. Agregue esto a su pom.xml:

<dependency>
  <groupId>uk.co.pervasive_intelligence.simulator</groupId>
  <artifactId>protocol</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/simulator-1.2.2.jar</systemPath>
</dependency>

No utilice \ como separador de ruta (a pesar de que se está utilizando Windows)

Ejecutar mvn clean packagedesde la línea de comandos

También se podría tratar de instalar el dependecy manualmente en tu repositorio local:

mvn install:install-file -Dfile=simulator-1.2.2.jar -DgroupId=uk.co.pervasive_intelligence.simulator -DartifactId=protocol -Dversion=1.0 -Dpackaging=jar

A continuación, añadir esto a su pom:

<dependency>
  <groupId>uk.co.pervasive_intelligence.simulator</groupId>
  <artifactId>protocol</artifactId>
  <version>1.0</version>
</dependency>

EDITAR:

El archivo JAR no tiene la estructura de una biblioteca Java estándar. Para utilizar el frasco como una biblioteca, los paquetes de sus clases deben existir como carpetas en el (directorio o raíz) de base del archivo JAR. Por ejemplo:

/META-INF
    /MANIFEST.MF
/uk
    /co
        /pervasive_intelligence
            /simulator
                /BaseComponent.class
                /SimulatorApplication.class
                /SimulatorException.class
....

Al ser un archivo JAR de la biblioteca a continuación el contenido de la MANIFIEST.MF puede ser tan simple como

Manifest-Version: 1.0

Espero que esto ayude

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=186663&siteId=1
Recomendado
Clasificación