Código de Visual Studio, Extensión de Java, ¿cómo agregar un JAR a classpath?

9 minutos de lectura

avatar de usuario
gqp21

En Eclipse IDE, agrego una biblioteca JAR usando

Proyecto > Ruta de compilación > Configurar ruta de compilación…

¿Cuál es el equivalente en VisualStudioCode?

tuve una mirada en launch.json. Hay un classpath definido. Agregar JAR a esta variable classpath (matriz) parece no tener efecto.

Esencialmente, esta es una pregunta duplicada de Visual Studio Java Language Support add jar.
Pero esa pregunta no tiene respuesta.

Esta es una pregunta tan extremadamente básica, que realmente no entiendo no encontrar una solución en la documentación de Microsoft o mediante la búsqueda de Google.

  • el código de Visual Studio es un editor de texto, no es un ide, por lo que las variables de su sistema (si está en Windows) tendrán una ruta de clase para su Java y otras bibliotecas

    – Shubh

    8 de mayo de 2018 a las 11:33

  • Comienza aquí, no lo he leído por completo pero puedes encontrar información útil code.visualstudio.com/docs/java/java-tutorial

    – Víctor M Herasme Pérez

    8 de mayo de 2018 a las 11:34

  • Esto no es un duplicado ya que la pregunta era sobre Visual Studio, no sobre Visual Studio Code

    – C.Champagne

    8 de mayo de 2018 a las 11:34

  • Gracias por esta pista. Traté de hacer: export CLASSPATH=, luego comencé el código de Visual Studio con esta variable de entorno, pero los problemas siguen siendo los mismos: la compilación falla.

    – gqp21

    8 de mayo de 2018 a las 11:44


  • No estoy seguro de que vscode esté realmente adaptado para el desarrollo de Java, pero de todos modos esto dependerá de la extensión que instale para desarrollar en Java. que has instalado??? Además, cualquiera que sea el que elija, le sugiero que use Maven o Gradle para administrar sus dependencias.

    – C.Champagne

    8 de mayo de 2018 a las 11:48

avatar de usuario
Hemang

Actualizar para la última versión

Requisito previo: en VS Code, debe abrir la carpeta y no solo el archivo para incluir cualquier archivo jar para la compilación, ejecución, depuración y prueba

VSCode funciona bien con maven o gradle, y si usamos alguno de ellos, deberíamos usar maven o gradle para la administración de dependencias.

Si no está utilizando ninguna gestión de dependencias, hay dos opciones para agregar un archivo jar

Opción 1: Manualmente

Abra el archivo .vscode/settings.json (si no está presente, puede crear uno) y agregue el archivo jar requerido allí como se muestra a continuación. En este caso, se incluirán todos los archivos jar presentes en el directorio lib + He agregado common-logging-1.1.1.jar que se encuentra fuera del directorio del proyecto

{
    "java.project.referencedLibraries": [
        "lib/**/*.jar",
        "c:\\path\\to\\jarfile\\commons-logging-1.1.1.jar"
    ]
}

Opción 2: a través de la interfaz de usuario

Si la Extensión de Java está habilitada, en el panel izquierdo habrá Dependencias de Java. Dentro de allí puedes hacer clic en + símbolo para agregar archivos jar de clientes. Con este método también, el settings.json el archivo se actualizará

Captura de pantalla para agregar dependencia de Java

Respuesta anterior guardada como referencia …

VSCode funciona bien con maven o gradle. Pero sin ellos, que yo sepa, no han proporcionado ninguna forma directa de agregar un archivo jar en classpath.

La solución consiste en agregar la entrada en .classpath archivo manualmente.

Por ejemplo, en el archivo a continuación he agregado common-logging-1.2.jar situado en lib directorio manualmente agregando una línea <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="output" path="bin"/>
        <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>
</classpath>

Actualizar

Finalmente, el equipo de VSCode está trabajando para encontrar una mejor solución. Esto todavía es un trabajo en progreso, pero puede consultar este enlace para un mejor enfoque https://github.com/microsoft/vscode-java-pack/issues/94#issuecomment-573487982

Actualización Abril 2020

La actualización de la extensión VSCode ahora es compatible con esta característica lista para usar. Ahora VS Code Java le permite trabajar con archivos JAR directamente sin ninguna herramienta de compilación. Vaya a la vista DEPENDENCIAS DE JAVA, busque el nodo Bibliotecas referenciadas y haga clic en el icono +.

Referencia https://github.com/microsoft/vscode-java-pack/blob/master/release-notes/v0.9.0.md#work-with-jar-files-directamente

  • Cuando observo las Dependencias de Java, no veo un nodo de “Bibliotecas referenciadas”. Acabo de ver “Biblioteca del sistema JRE”. (Estoy ejecutando 1.44.2 en macOS 10.15.4)

    – Zack

    28 de abril de 2020 a las 15:45

  • Obtengo algo similar: todo lo que veo es el nodo “Biblioteca del sistema JRE”, en el que no hay un botón “+”, un nodo “Dependencias de Maven”, que tiene un botón “+”, pero luego no me permite encontrar el archivo jar dependiente en mi computadora. ¿Cómo se muestra el nodo “Bibliotecas referenciadas”?

    – paul frith

    29 de abril de 2020 a las 9:59

  • Si está utilizando maven, debe usar maven para la gestión de dependencias. La solución anterior es si no está utilizando maven o gradle

    – Hemang

    7 de mayo de 2020 a las 12:11

  • @Zack Tuve el mismo problema, no pude encontrar el nodo ‘Bibliotecas referenciadas’ para un proyecto que había creado antes de esta actualización. La solución que me funcionó fue abrir directamente (Archivo > Abrir carpeta) la carpeta ‘src’ del proyecto.

    – dibujó181

    10 mayo 2020 a las 10:58


  • Si tiene problemas para que aparezca el menú de proyectos, haga doble clic en un archivo java (mejor si es el archivo que contiene el método principal). A veces, el menú del proyecto desaparece después de borrar el espacio de trabajo. Además, si está en Windows, a las herramientas classpath para java para vscode no les gustan las rutas con espacios en ellas. Lo mejor es mover esos frascos a un camino sin espacios. Ver stackoverflow.com/questions/54966653/…

    – tlarson

    21 oct 2020 a las 14:15

Sé que esto es bastante antiguo, pero todavía ocupa un lugar destacado en los resultados de Google y muchos pueden encontrarlo. Solo quiero recomendar la siguiente guía de VSCode que incluye una parte pequeña pero suficiente para incluir bibliotecas:

https://blog.usejournal.com/visual-studio-code-for-java-the-ultimate-guide-2019-8de7d2b59902

la respuesta es bastante simple:

  1. agregue el jar a la carpeta que prefiera, por ejemplo, un nuevo directorio “lib” en la carpeta del proyecto.
  2. agregar una línea como: <classpathentry kind="lib" path="lib/javaxt-cor.jar"/>para usted .classpath.
  3. hecho. Simplemente puede importarlo como está acostumbrado.

  • Quería mencionar que una vez que pasa por el proceso “Crear proyecto Java” en Visual Code, el .classpath El archivo aparece en el espacio de trabajo de su proyecto.

    – harperville

    29 de marzo de 2020 a las 17:12

avatar de usuario
azullunalobo

importe el archivo jar externo en el proyecto Java, ahora en vscode 1.48.2 funciona bien, siga la referencia a continuación:
https://code.visualstudio.com/docs/java/java-project#_working-with-jar-files

lo que quiero decir es que, si la ruta de su jar externo tiene caracteres chinos, incluso si coloca los archivos jar en el directorio lib en el directorio raíz del proyecto y la ruta del proyecto tiene caracteres chinos, cuando depure o ejecute, informará un mensaje de error como este:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

No tenía idea de si este problema aparece en otros caracteres del idioma. Tenga cuidado.

Una solución terrible, pero para mí funciona. (Suponiendo que maven esté instalado).

Ubique su directorio de repositorio maven, para mí es:

/Users/username/.m2/repository

Luego cree la ruta requerida siguiendo el nombre del paquete. Si no conoce el nombre del paquete, puede cambiar el nombre del .jar a un .zip y extraer el contenido.

También cree un número de versión, si no tiene uno, invénteselo. Aquí hay un ejemplo de una estructura que creé para byte-buddy-agent ya que eso no tiene un fragmento experto.

Habiendo hecho eso, editas pom.xml y añadir algo entre las líneas de:

<dependency>
  <groupId>net.bytebuddyagent</groupId>
  <artifactId>byte-buddy-agent</artifactId>
  <version>1.9.8</version>
</dependency>

Guarde el archivo, vuelva a cargar los cambios y debería estar listo para comenzar. Se deben crear un montón de archivos en el directorio.

ingrese la descripción de la imagen aquí

Para agregar archivos Jar externos sin maven o gradle, el archivo .classpath debe cambiarse para la biblioteca … ejemplo

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="lib" path="lib/log4j-1.2.6.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Pero una extensión entra en conflicto con vscode-java.
https://marketplace.visualstudio.com/items?itemName=georgewfraser.vscode-javac
Desactívelo si lo ha instalado para suprimir el error si lo encuentra después de cambiar el archivo .classpath. Puedes comprobar este problema-
https://github.com/redhat-developer/vscode-java/issues/956

avatar de usuario
Yunnosch

Es tan fácil, de todos modos:

  1. Crear proyecto con java ctrl+shift+p
  2. Agregue el archivo jar a su .classpath
  3. Agregue en la parte superior de su paquete de proyecto [app]; el nombre de tu paquete
  4. Hemos terminado, no olvides actualizarlo.

avatar de usuario
Tim Smith-Aardwolf

Voy a usar el códec Apache Commons http://commons.apache.org/proper/commons-codec/ como ejemplo y empezar de cero. He instalado el instalador del paquete Java de Visual Studio Code. https://code.visualstudio.com/docs/languages/java y obtuve una nueva ventana de VSCode.

  1. Ctrl+Mayús+P y escriba para seleccionar Java: Create Java Project
  2. Elija una carpeta para su proyecto y haga clic en Select the location
  3. Dale un nombre a tu proyecto y presiona Enter
  4. Cree una carpeta en el proyecto llamada lib y cópiela en la carpeta commons-codec-1.14 del archivo zip.
  5. Abra el archivo .classpath y agregue la siguiente línea dentro del nodo
    <classpathentry kind="lib" path="lib/commons-codec-1.14/commons-codec-1.14.jar"/>
    NB usted puede necesita usar la dirección absoluta del archivo lib. En mi primer intento, el código anterior funcionó bien. Mi proyecto de demostración para esta guía solo funcionó con una ruta completa, por ejemplo
    <classpathentry kind="lib" path="C:/Users/tim/Desktop/JavaExample/JavaExample/lib/commons-codec-1.14/commons-codec-1.14.jar"/>
  6. Abra el archivo src\App.java y agregue la siguiente línea debajo del package app; línea import org.apache.commons.codec.binary.Base64;

Luego pude ejecutar el siguiente código en App.java

package app;
import org.apache.commons.codec.binary.Base64;


public class App {
    public static void main(String[] args) throws Exception {
        String message = "Hello World";
        System.out.println(message);
        String encodedMessage = Base64.encodeBase64String(message.getBytes());
        System.out.println(encodedMessage);

    }
}

Para producir

Hello World
SGVsbG8gV29ybGQ=

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad