java - instalar - Agregar una biblioteca externa al jar de artefactos en IntelliJ IDEA
maven build in intellij idea (2)
Si está utilizando Maven para construir su aplicación, esta no es la forma correcta de agregar una biblioteca externa. Usted debería
-
Instale su biblioteca como se muestra a continuación
mvn install:install-file -Dfile=myJar.jar -DgroupId=com.yourproject -DartifactId=yourproject -Dversion={version} -Dpackaging=jar
. - Utilice la ruta del sistema como se explica here .
Se prefiere la opción 1, ya que no tiene que mantener jar en su proyecto.
¿Cómo puedo agregar una biblioteca externa a un proyecto en IntelliJ IDEA para que cuando construya un artefacto todavía tenga acceso a las clases en la biblioteca?
Creé un nuevo artefacto Jar a partir de la Estructura del Proyecto, luego agregué el JAR externo a las Bibliotecas, luego lo verifiqué en la Lista de Módulos y finalmente lo agregué a la Salida del Artefacto. Ninguno de estos trabajos. Cuando compilo e intento ejecutar mi aplicación, arroja un error:
Exception in thread "main" java.lang.NoClassDefFoundError: <path of the class trying to use>
¿Qué me estoy perdiendo o estoy haciendo esto completamente mal?
Tienes 2 opciones aquí:
- extraer la dependencia en el jar de artefactos para que la aplicación sea el jar ejecutable único con todas las dependencias
-
enlace los frascos dependientes a través del
Manifest.MF
y cópielos cerca del frasco principal de la aplicación
He preparado un proyecto de muestra que muestra ambos enfoques: HelloWithDependencies.zip .
Los artefactos se producen en directorios
out/single
y
out/linked
.
Configuraciones relevantes: