如何使用 vscode 中的 eclipse Java 项目的相对路径添加引用的库 JAR 文件
How to add referenced library JAR files using relative path for eclipse Java project in vscode
我检查了这个 question 和许多其他帖子来帮助我解决我的问题,但没有任何效果。
我试图从 vscode 中的 Eclipse 打开一个现有的 Java 项目。该项目已在 Eclipse 2021-06 中成功打开,我通过 selecting lib/
文件夹下的 JAR 库并右键单击 - 配置构建批处理 - 添加 select 添加到构建路径。然后文件 .classpath
自动更新。然后我必须下载 JDK 11(vscode 需要)和 Java 项目所需的 JDK 1.8。我设法与 eclipse 一起工作以正确设置 JDK 并且一切正常。我能够编译项目、导出结果 JAR 并进行部署,一切正常。
我无法使用 Open Java Project
选项在 vscode 中打开此项目。我在这个 Java 项目中添加引用库时遇到问题,因为它是一个托管项目(因为它是在 Eclipse 中创建的)。当我尝试使用 vscode UI 添加库时,我得到了混合结果,有时它不起作用并且构建失败。我很惊讶,因为在某些情况下,一切正常,然后就不行了。
我尝试更新 vscode 中的 .classpath
文件,但问题仍然存在。当我尝试通过单击 +
在 vscode 中的 JAVA PROJECTS
树下添加来自 Referenced Libraries (Read Only)
的库时,它没有任何效果。此步骤将通过将相关值添加到 属性 "java.project.referencedLibraries"
.
来修改 .vscode
文件夹下的文件 settings.json
我对如何为 vscode 中的 Java 个项目配置引用的库感到困惑。以下是问题总结:
- 如何使用基于项目根文件夹的相对路径将库添加到 Java 项目?
- 使用
.classpath
文件添加库和修改 settings.json
文件有什么区别?哪一个会赢?
- 如何将包含所有JAR 文件的文件夹作为引用库添加到Java 项目中?这是为了避免一次添加一个文件。
- 为什么
.classpath
和 .project
文件没有显示在 vscode 资源管理器视图中?它只会在您从 Windows 文件资源管理器打开 vscode 中的文件时显示。
- 我找到了命令
Configure Classpath
但它是只读的,我认为它与 .classpath
文件相同。有没有办法将它从 vscode UI 更改为?
- 当我删除
.classpath
文件或从 .classpath
文件中删除 classpathentry
行时,JAVA PROJECTS
下的节点 'Referenced Libraries (Read Only)' 在 vscode 视图已删除。为什么?
有关详细信息,请参阅下面的快照。
感谢您的帮助。
基本上来说,java 扩展从 Referenced Libraries.
中查找 jar
以下是我对您问题的回答:
右键单击 jar 并选择 copy relative path
然后将其添加到设置,单击刷新按钮然后添加的 jar 应显示在选项 Referenced Libraries 下:
CLASSPATH 变量是一种告诉应用程序(包括 JDK 工具)在哪里寻找用户 类 的方法。在添加罐子时,设置 java.project.referencedLibraries
胜出。
没办法select
jar 文件夹,但您可以使用键盘快捷键 select 所有 jar 然后添加它们。
有个设置叫"java.configuration.checkProjectSettingsExclusions"
,默认为真,所以.project
和.classpath
不会在VS Code中显示。
命令Java: Configure Classpath在我的机器上有效,可以自定义当前项目。
我猜是当你打开一个新项目时,vscode弹出一个window问你是否信任,你选择了不,那么项目是只读的。 Trusting the workspace 然后尝试命令 Java: Configure Classpath 再次,它应该是可写的。
@Molly Want-MSFT 的回答对我帮助很大。以下是我为永久解决问题所做的工作。我多次应用以下步骤以验证它们每次都能正常工作。
在 Eclipse 和 vscode 中打开 Java 项目的步骤:
下载 vscode、Eclipse 和您的 Java 项目所需的 JDK。
在 Eclipse 中导入项目并为工作区和项目设置 JDK。另外,确保设置编译级别以匹配 JDK.
设置项目 JDK 以匹配工作区的默认值。
构建项目 (Project-Cleanup) 并导出 JAR 以确保一切正常。
现在打开vscode中的项目。
设置 java.home
在设置中,在用户和工作区部分。这必须是 JDK-11 或更高才能允许 vscode 为 Java 项目正常运行。
在 "java.configuration.runtimes"
部分下的用户 settings.json
中添加对已安装 JDK 的引用。
重新启动 vscode 并从 JAVA PROJECTS
视图中选择 Configure Java Runtime
选项。确保检测到 Java 项目的 JDK 并正常工作。
您可能需要打开 Java 源代码文件之一。稍等片刻,直到它安定下来。单击右下角的旋转图标检查 Java 构建状态进度。此图标适用于 Language Server
,当 build/compile 完成后,它会变成一个看起来像竖起大拇指的图标。
关闭并打开 Configure Java Runtime
以验证 JDK 是否被 vscode 检测到。
确保 JAVA PROJECTS
视图下的 JRE System Libraries
和 Referenced Libraries
都可见且没有任何错误。检查“问题”视图并尝试解决所有错误。
Referenced Libraries
应该是 Read Only
因为这个项目是在 Eclipse 中设置的。您可以删除 .classpath
和 .project
文件并在 vscode 中再次打开项目,并尝试通过使用 +
按钮添加库来解决问题。删除此类文件后,项目将变为Unmanaged
。稍后,您可以恢复此类文件。
当项目为unmanaged
时,您使用JAVA PROJECTS
视图中的Configure Java Runtime
,您可以检查项目类型。您可以根据用户 setting.json
.
中的 "java.configuration.runtimes"
部分将 JDK 更改为已安装的其中一个
如果Referenced Libraries
是只读的,即使你可以将库添加到settings.json中也没有效果,但是.classpath
文件会赢.
从 JAVA PROJECTS
的角度来看,您可以使用选项 Build Workspace
和 Clean Workspace
来排除故障并尝试解决错误。
最后,您可以从 JAVA PROJECTS
选项中 Export JAR
查看。这个选项不清楚,看起来像和箭头指向右边 |-->
.
希望对您有所帮助,如果您有任何问题,请post发表评论,我会尽量回复。
我只是更改了 .classpath 文件中 jar 的路径字符串,它对我有用。
我检查了这个 question 和许多其他帖子来帮助我解决我的问题,但没有任何效果。
我试图从 vscode 中的 Eclipse 打开一个现有的 Java 项目。该项目已在 Eclipse 2021-06 中成功打开,我通过 selecting lib/
文件夹下的 JAR 库并右键单击 - 配置构建批处理 - 添加 select 添加到构建路径。然后文件 .classpath
自动更新。然后我必须下载 JDK 11(vscode 需要)和 Java 项目所需的 JDK 1.8。我设法与 eclipse 一起工作以正确设置 JDK 并且一切正常。我能够编译项目、导出结果 JAR 并进行部署,一切正常。
我无法使用 Open Java Project
选项在 vscode 中打开此项目。我在这个 Java 项目中添加引用库时遇到问题,因为它是一个托管项目(因为它是在 Eclipse 中创建的)。当我尝试使用 vscode UI 添加库时,我得到了混合结果,有时它不起作用并且构建失败。我很惊讶,因为在某些情况下,一切正常,然后就不行了。
我尝试更新 vscode 中的 .classpath
文件,但问题仍然存在。当我尝试通过单击 +
在 vscode 中的 JAVA PROJECTS
树下添加来自 Referenced Libraries (Read Only)
的库时,它没有任何效果。此步骤将通过将相关值添加到 属性 "java.project.referencedLibraries"
.
.vscode
文件夹下的文件 settings.json
我对如何为 vscode 中的 Java 个项目配置引用的库感到困惑。以下是问题总结:
- 如何使用基于项目根文件夹的相对路径将库添加到 Java 项目?
- 使用
.classpath
文件添加库和修改settings.json
文件有什么区别?哪一个会赢? - 如何将包含所有JAR 文件的文件夹作为引用库添加到Java 项目中?这是为了避免一次添加一个文件。
- 为什么
.classpath
和.project
文件没有显示在 vscode 资源管理器视图中?它只会在您从 Windows 文件资源管理器打开 vscode 中的文件时显示。 - 我找到了命令
Configure Classpath
但它是只读的,我认为它与.classpath
文件相同。有没有办法将它从 vscode UI 更改为? - 当我删除
.classpath
文件或从.classpath
文件中删除classpathentry
行时,JAVA PROJECTS
下的节点 'Referenced Libraries (Read Only)' 在 vscode 视图已删除。为什么?
有关详细信息,请参阅下面的快照。
感谢您的帮助。
基本上来说,java 扩展从 Referenced Libraries.
中查找 jar以下是我对您问题的回答:
右键单击 jar 并选择
copy relative path
然后将其添加到设置,单击刷新按钮然后添加的 jar 应显示在选项 Referenced Libraries 下:CLASSPATH 变量是一种告诉应用程序(包括 JDK 工具)在哪里寻找用户 类 的方法。在添加罐子时,设置
java.project.referencedLibraries
胜出。没办法select jar 文件夹,但您可以使用键盘快捷键 select 所有 jar 然后添加它们。
有个设置叫
"java.configuration.checkProjectSettingsExclusions"
,默认为真,所以.project
和.classpath
不会在VS Code中显示。命令Java: Configure Classpath在我的机器上有效,可以自定义当前项目。
我猜是当你打开一个新项目时,vscode弹出一个window问你是否信任,你选择了不,那么项目是只读的。 Trusting the workspace 然后尝试命令 Java: Configure Classpath 再次,它应该是可写的。
@Molly Want-MSFT 的回答对我帮助很大。以下是我为永久解决问题所做的工作。我多次应用以下步骤以验证它们每次都能正常工作。
在 Eclipse 和 vscode 中打开 Java 项目的步骤:
下载 vscode、Eclipse 和您的 Java 项目所需的 JDK。
在 Eclipse 中导入项目并为工作区和项目设置 JDK。另外,确保设置编译级别以匹配 JDK.
设置项目 JDK 以匹配工作区的默认值。
构建项目 (Project-Cleanup) 并导出 JAR 以确保一切正常。
现在打开vscode中的项目。
设置
java.home
在设置中,在用户和工作区部分。这必须是 JDK-11 或更高才能允许 vscode 为 Java 项目正常运行。在
"java.configuration.runtimes"
部分下的用户settings.json
中添加对已安装 JDK 的引用。重新启动 vscode 并从
JAVA PROJECTS
视图中选择Configure Java Runtime
选项。确保检测到 Java 项目的 JDK 并正常工作。您可能需要打开 Java 源代码文件之一。稍等片刻,直到它安定下来。单击右下角的旋转图标检查 Java 构建状态进度。此图标适用于
Language Server
,当 build/compile 完成后,它会变成一个看起来像竖起大拇指的图标。关闭并打开
Configure Java Runtime
以验证 JDK 是否被 vscode 检测到。确保
JAVA PROJECTS
视图下的JRE System Libraries
和Referenced Libraries
都可见且没有任何错误。检查“问题”视图并尝试解决所有错误。Referenced Libraries
应该是Read Only
因为这个项目是在 Eclipse 中设置的。您可以删除.classpath
和.project
文件并在 vscode 中再次打开项目,并尝试通过使用+
按钮添加库来解决问题。删除此类文件后,项目将变为Unmanaged
。稍后,您可以恢复此类文件。
当项目为unmanaged
时,您使用JAVA PROJECTS
视图中的Configure Java Runtime
,您可以检查项目类型。您可以根据用户 setting.json
.
"java.configuration.runtimes"
部分将 JDK 更改为已安装的其中一个
如果
Referenced Libraries
是只读的,即使你可以将库添加到settings.json中也没有效果,但是.classpath
文件会赢.从
JAVA PROJECTS
的角度来看,您可以使用选项Build Workspace
和Clean Workspace
来排除故障并尝试解决错误。最后,您可以从
JAVA PROJECTS
选项中Export JAR
查看。这个选项不清楚,看起来像和箭头指向右边|-->
.
希望对您有所帮助,如果您有任何问题,请post发表评论,我会尽量回复。
我只是更改了 .classpath 文件中 jar 的路径字符串,它对我有用。