Visual Studio Code,Java Extension,如何将jar添加到classpath

时间:2018-05-08 11:30:35

标签: java visual-studio-code

在Eclipse中,我使用

添加了一个jar库

项目 - >构建路径 - >配置构建路径

VisualStudioCode中的等价物是什么?我看了一下launch.json。定义了一个类路径。将jar添加到此类路径(数组)变量似乎没有任何效果。

基本上,这是一个重复的问题 Visual Studio Java Language Support add jar 但这个问题没有答案。

这是一个非常基本的问题,我真的不明白在Microsoft的文档中或通过Google搜索找不到解决方案。

8 个答案:

答案 0 :(得分:4)

我知道这已经很老了,但是在Google搜索结果中仍然很高,很多人可能会找到它。 我只想向您推荐以下有关VSCode的指南,其中包括一小部分但足以包含库的部分:

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

答案很简单:

  1. 将罐子添加到您喜欢的文件夹中,例如项目文件夹中的新目录“ lib”。
  2. <classpathentry kind="lib" path="lib/javaxt-cor.jar"/>之类的行添加到您的.classpath
  3. 完成。您可以像以前一样简单地导入它。

答案 1 :(得分:1)

VSCode与maven或gradle一起正常工作。但是据我所知,没有这些,他们还没有提供任何直接的方法来在类路径中添加jar文件。

解决方法是手动将条目添加到#include <stdio.h> #include <stdlib.h> struct rec{ int i; double f; char c; }; int main(void){ struct rec (*p)[2] = malloc(sizeof *p); if(p) { (*p)[0].i = 10; (*p)[0].f = 3.1; (*p)[0].c = 'a'; (*p)[1].i = 20; (*p)[1].f = 6.2; (*p)[1].c = 'b'; printf("%d\t%f\t%c\n", (*p)[0].i, (*p)[0].f, (*p)[0].c); printf("%d\t%f\t%c\n", (*p)[1].i, (*p)[1].f, (*p)[1].c); free(p); } getchar(); return 0; } 文件中。

例如在下面的文件中,我手动添加了.classpath

common-logging-1.2.jar

答案 2 :(得分:1)

反正很容易

  1. 使用java ctrl + shift + p
  2. 创建项目
  3. 将jar文件添加到您的.classpath
  4. 在项目包[app]的顶部添加;您的包裹名称
  5. 我们完成了,不要忘记刷新它。

答案 3 :(得分:1)

您必须安装 Java Dependency Viewer 扩展名,该扩展名可以帮助导入jar文件并将其添加到项目的类路径中 OR 添加库通过使用每个jar文件的<classpathentry kind="lib" path="manual\path\entry\jarfile.jar"/>标记内的<classpath></classpath>标记,手动将其添加到“ .classpath ”文件。

首先,您要做的是知道如何在VS Code中创建适当的Java“项目”。

要这样做:

  1. 已在VSCode中打开一个文件夹
  2. Ctrl + Shift + P 打开命令面板
  3. 输入Java: Create New Project
  4. 根据您的要求执行以下步骤并提供项目名称

然后:在资源管理器面板中展开 Java依赖项部分,然后展开“项目名称”。

  1. 当您将鼠标悬停在“ 引用的库”上时,您会看到“ + ”标志。单击它。
  2. 它将打开资源管理器。使用它来选择所有jar文件,然后单击“ 选择Jar文件”按钮。

就是这样!!

通过这种方式,您可以在以下位置详细查看所有这些信息 https://code.visualstudio.com/docs/java/java-project#_working-with-jar-files,它具有所有相关内容的清晰视觉表示。

快乐编码!!!

答案 4 :(得分:0)

一个糟糕的解决方案,但对我来说却有效。 (假设已安装Maven)。

找到您的Maven存储库目录,对我来说是:

/Users/username/.m2/repository

然后在包名称后创建所需的路径。 如果您不知道程序包名称,则可以将.jar重命名为.zip并提取内容。

还创建一个版本号,如果您没有,请补一个。 这是我为byte-buddy-agent创建的结构的示例,因为该结构没有maven代码段。

您已完成编辑pom.xml并在以下行之间添加了一些内容:

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

保存文件,重新加载更改,您应该一切顺利。 应该在目录中创建一堆文件。

enter image description here

答案 5 :(得分:0)

要添加外部Jar文件,必须更改库的maven或gradle .classpath文件。示例

<?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>

但是一个扩展名与vscode-java冲突。 https://marketplace.visualstudio.com/items?itemName=georgewfraser.vscode-javac 如果已安装它,请禁用它。如果更改.classpath文件后发现错误,请禁用它。您可以检查此问题- https://github.com/redhat-developer/vscode-java/issues/956

答案 6 :(得分:0)

我将以Apache Commons Codec http://commons.apache.org/proper/commons-codec/为例,从头开始。我已经安装了Visual Studio Code Java Pack安装程序https://code.visualstudio.com/docs/languages/java,并获得了一个新的VSCode窗口。

  1. Ctrl + Shift + P 并键入以选择Java: Create Java Project
  2. 为您的项目选择一个文件夹,然后单击Select the location
  3. 给您的项目起个名字,然后按Enter
  4. 在名为lib的项目中创建文件夹,然后从zip文件复制commons-codec-1.14文件夹。
  5. 打开.classpath文件,并在节点内添加以下行
    <classpathentry kind="lib" path="lib/commons-codec-1.14/commons-codec-1.14.jar"/>
    注意:可能需要使用lib文件的绝对地址。在我的第一步中,上面的代码运行良好。我本指南的演示项目仅使用完整路径,例如
    <classpathentry kind="lib" path="C:/Users/tim/Desktop/JavaExample/JavaExample/lib/commons-codec-1.14/commons-codec-1.14.jar"/>
  6. 打开src \ App.java文件,并在package app;import org.apache.commons.codec.binary.Base64;下方添加以下行

然后我能够在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);

    }
}

生产

Hello World
SGVsbG8gV29ybGQ=

答案 7 :(得分:0)

将外部jar文件导入Java项目,现在在vscode 1.48.2中可以正常工作,请遵循以下参考: https://code.visualstudio.com/docs/java/java-project#_working-with-jar-files

我要说的是,如果您的外部jar路径中有中文字符,即使将jar文件放入项目根目录下的lib目录中,并且项目路径中有中文字符,在调试或运行时,它也会报告一个这样的错误消息:

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

我不知道这个问题是否会以其他语言显示。