在Eclipse中,我使用
添加了一个jar库项目 - >构建路径 - >配置构建路径
VisualStudioCode中的等价物是什么?我看了一下launch.json。定义了一个类路径。将jar添加到此类路径(数组)变量似乎没有任何效果。
基本上,这是一个重复的问题 Visual Studio Java Language Support add jar 但这个问题没有答案。
这是一个非常基本的问题,我真的不明白在Microsoft的文档中或通过Google搜索找不到解决方案。
答案 0 :(得分:4)
我知道这已经很老了,但是在Google搜索结果中仍然很高,很多人可能会找到它。 我只想向您推荐以下有关VSCode的指南,其中包括一小部分但足以包含库的部分:
https://blog.usejournal.com/visual-studio-code-for-java-the-ultimate-guide-2019-8de7d2b59902
答案很简单:
<classpathentry kind="lib" path="lib/javaxt-cor.jar"/>
之类的行添加到您的.classpath
。答案 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)
反正很容易
.classpath
答案 3 :(得分:1)
您必须安装 Java Dependency Viewer 扩展名,该扩展名可以帮助导入jar文件并将其添加到项目的类路径中 OR 添加库通过使用每个jar文件的<classpathentry kind="lib" path="manual\path\entry\jarfile.jar"/>
标记内的<classpath></classpath>
标记,手动将其添加到“ .classpath ”文件。
首先,您要做的是知道如何在VS Code中创建适当的Java“项目”。
要这样做:
Java: Create New Project
然后:在资源管理器面板中展开 Java依赖项部分,然后展开“项目名称”。
就是这样!!
通过这种方式,您可以在以下位置详细查看所有这些信息 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>
保存文件,重新加载更改,您应该一切顺利。 应该在目录中创建一堆文件。
答案 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窗口。
Java: Create Java Project
Select the location
<classpathentry kind="lib" path="lib/commons-codec-1.14/commons-codec-1.14.jar"/>
<classpathentry kind="lib" path="C:/Users/tim/Desktop/JavaExample/JavaExample/lib/commons-codec-1.14/commons-codec-1.14.jar"/>
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
我不知道这个问题是否会以其他语言显示。