Visual Studio代码,Java扩展,如何将jar添加到类路径
在Eclipse中,我使用 项目->生成路径->配置生成路径 VisualStudioCode中的等效项是什么?我查看了launch.json。定义了一个类路径。向这个类路径(数组)变量添加JAR似乎没有效果 本质上,这是一个重复的问题 但这个问题没有答案Visual Studio代码,Java扩展,如何将jar添加到类路径,java,visual-studio-code,Java,Visual Studio Code,在Eclipse中,我使用 项目->生成路径->配置生成路径 VisualStudioCode中的等效项是什么?我查看了launch.json。定义了一个类路径。向这个类路径(数组)变量添加JAR似乎没有效果 本质上,这是一个重复的问题 但这个问题没有答案 这是一个非常基本的问题,我真的不明白为什么不在微软的文档中或通过谷歌搜索找到解决方案。这是一个糟糕的解决方案,但对我来说是可行的。 (假设安装了maven) 找到您的maven存储库目录,对我来说是: /Users/username/.m2/
这是一个非常基本的问题,我真的不明白为什么不在微软的文档中或通过谷歌搜索找到解决方案。这是一个糟糕的解决方案,但对我来说是可行的。 (假设安装了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>
net.bytebuddyagent
更新最新版本
先决条件:在VS代码中,您需要打开文件夹而不仅仅是文件,以包含任何用于编译、运行、调试和测试的jar文件
VSCode可以很好地与maven或gradle配合使用,如果我们使用其中任何一种,我们应该使用maven或gradle进行依赖关系管理
如果您没有使用任何依赖项管理,那么有两个选项可以添加jar文件
选项1:手动
打开.vscode/settings.json文件(如果不存在,您可以创建一个),并在其中添加所需的jar文件,如下所示。在这种情况下,lib目录中的所有jar文件都将被包括在内,我添加了common-logging-1.1.jar,它位于项目目录之外
{
"java.project.referencedLibraries": [
"lib/**/*.jar",
"c:\\path\\to\\jarfile\\commons-logging-1.1.1.jar"
]
}
选项2:通过用户界面
若启用了Java扩展,那个么在左侧面板上会有Java依赖项。
在里面,您可以单击+
符号添加客户jar文件。使用此方法,也会更新settings.json
文件
旧答案留作参考。。。
VSCode可以与maven或gradle一起工作。但如果没有这些,据我所知,他们并没有提供任何直接的方法在类路径中添加jar文件
解决方法是在.classpath
文件中手动添加条目
例如,在下面的文件中,我添加了common-logging-1.2.jar
,通过添加一行
更新
最后,VSCode团队正在努力寻找更好的解决方案。这项工作仍在进行中,但您可以参考此链接以获得更好的解决方案
2020年4月更新
VSCode扩展更新现在支持此功能。
现在VS代码Java允许您直接使用JAR文件,而无需任何构建工具。转到JAVA依赖项视图,找到引用的库节点并单击+图标
有关添加不带maven或gradle的外部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="lib" path="lib/log4j-1.2.6.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
但是有一个扩展与vscode java冲突。
。如果在更改.classpath文件后发现错误,请禁用它(如果已安装),以抑制错误。你可以检查这个问题-
无论如何,这很容易:
使用JavaCtrl+shift+p创建项目
将jar文件添加到.classpath
添加到项目包[应用程序]的顶部;您的包的名称
我们完成了,别忘了刷新它
我知道这已经很古老了,但它仍然在谷歌搜索结果中占据着很高的位置,很多人可能会找到它。
我只想推荐以下VSCode指南,其中包含一个小但足够包含库的部分:
答案很简单:
将jar添加到您喜欢的文件夹中,例如项目文件夹中的新目录“lib”
在.classpath
中添加一行,如:
完成了。您只需按习惯导入即可
我将以ApacheCommons编解码器为例,从头开始。我已经安装了VisualStudioCodeJavaPack安装程序,并获得了一个新的VSCode窗口
按住Ctrl+Shift+P并键入以选择Java:createjava项目
为项目选择一个文件夹,然后单击选择位置
为项目指定名称并按Enter键
在名为lib的项目中创建文件夹,并从zip文件复制到commons-codec-1.14文件夹中李>
打开.classpath文件并在节点内添加以下行
注意,您可能需要使用lib文件的绝对地址。在我的第一次尝试中,上面的代码运行良好。本指南的演示项目仅适用于完整路径,例如
打开src\App.java文件,并在包应用程序下方添加以下行代码>行导入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=
您必须安装Java Dependency Viewer扩展,该扩展有助于导入jar文件并将其添加到项目的类路径或使用每个jar文件的
标记中的
标记手动将库添加到“.classpath”文件中
首先,您需要知道如何在VS代码中创建一个合适的Java“项目”
为此:
在VSCode中打开文件夹
按Ctrl+Shift+P打开命令选项板
键入Java:createnewproject
根据您的需求,按照步骤进行操作
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils