首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在vscode中使用eclipse项目的相对路径添加引用库JAR文件

如何在vscode中使用eclipse项目的相对路径添加引用库JAR文件
EN

Stack Overflow用户
提问于 2021-09-16 23:01:26
回答 3查看 4.9K关注 0票数 3

我查看了这个问题和许多其他的帖子来帮助我解决我的问题,但是没有什么效果。

我试图在vscode中从Eclipse打开一个现有的Java项目。该项目是在Eclipse2021-06中成功打开的,我通过选择lib/文件夹下的JAR库和右键单击配置构建批处理-添加选择添加到构建路径来修复引用的库。然后自动更新文件.classpath。然后,我必须下载JDK 11 (vscode需要)和JDK1.8,这是Java项目所需要的。我成功地使用了eclipse来正确设置JDK,并且一切都很好。我能够编译该项目,导出结果JAR并进行部署,所有这些都运行良好。

使用Open Java Project选项在vscode中打开这个项目是有问题的。我面临着添加引用库这个Java项目的问题,因为它是一个托管项目(因为它是在Eclipse中创建的)。当我尝试使用vscode UI添加库时,我得到的结果是混合的,有时它不起作用,构建失败。我很惊讶,因为在某些情况下,事情只是起作用,然后就没有了。

我试图在vscode中更新.classpath文件,但问题仍然存在。当我试图在vscode中的Referenced Libraries (Read Only)树下通过单击+添加来自JAVA PROJECTS的库时,它没有效果。此步骤将通过向属性settings.json添加相关值来修改.vscode文件夹下的文件"java.project.referencedLibraries"

我对如何在vscode中配置Java项目的引用库感到困惑。以下是问题摘要:

  1. 如何根据项目根文件夹使用相对路径向Java项目添加库?
  2. 使用.classpath文件添加库与修改settings.json文件有什么区别?哪一个会赢?
  3. 如何将包含所有JAR文件的文件夹作为引用库添加到Java项目中?这是为了避免一次添加一个文件。
  4. 为什么vscode资源管理器视图中没有显示.classpath.project文件?只有在从Windows文件资源管理器中以vscode打开文件时,它才会显示。
  5. 我找到了命令Configure Classpath,但它是只读的,我认为它与.classpath文件相同。有办法从vscode UI中改变它吗?
  6. 在删除.classpath文件或从.classpath文件中删除classpathentry行时,将删除vscode视图中JAVA PROJECTS下的节点“Referenced(只读)”。为什么?

有关更多细节,请参见下面的快照。

谢谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-09-21 20:27:29

莫莉·韦德的回答对我帮助很大。以下是我为永久解决这个问题所做的事情。我多次应用下面的步骤来验证它们每次都会起作用。

在Eclipse和vscode中打开Java项目的步骤:

  1. 下载vscode、Eclipse和Java项目所需的JDK。
  2. 在Eclipse中导入项目,并为工作区和项目设置JDK。此外,确保设置编译级别以匹配JDK。
  3. 设置Project以匹配工作区的默认值。
  4. 构建项目(项目清理)并导出JAR以确保一切正常。
  5. 现在用vscode打开这个项目。
  6. 在“设置”、“用户”和“工作区”部分设置java.home。这必须是JDK-11或更高版本,才能让vscode为Java项目正常运行。
  7. 在用户的settings.json中的"java.configuration.runtimes"部分中添加对已安装JDK的引用。
  8. 重新启动vscode并从JAVA PROJECTS视图中选择JAVA PROJECTS选项。确保检测到Java项目的JDK并确保其正常工作。
  9. 您可能必须打开一个Java源代码文件。等一会儿,直到它安定下来。单击右下角的旋转图标,检查Java构建状态进度。这个图标是用于Language Server的,当构建/编译完成时,它将变成一个看起来像拇指向上的图标。
  10. 关闭并打开Configure Java Runtime,以验证vscode检测到了JDK。
  11. 确保JRE System LibrariesReferenced LibrariesJAVA PROJECTS视图下都是可见的,没有任何错误。检查问题视图并尝试解决所有错误。
  12. Referenced Libraries应该是Read Only,因为这个项目是在Eclipse中设置的。您可以删除.classpath.project文件,并在vscode中再次打开项目,并尝试通过使用+按钮添加库来解决问题。当这些文件被删除时,项目将变成Unmanaged。稍后,您可以还原这些文件。

当项目是unmanaged时,您可以从JAVA PROJECTS视图中使用Configure Java Runtime,并且可以检查项目类型。您可以按照用户的"java.configuration.runtimes"中的setting.json部分将JDK更改为已安装的JDK之一。

  1. 如果Referenced Libraries是只读的,即使您可以将库添加到settings.json中,也没有效果,但是.classpath文件将获胜。
  2. JAVA PROJECTS视图中,您可以使用选项Build WorkspaceClean Workspace来排除故障并尝试解决错误。
  3. 最后,您可以从Export JAR视图上的选项进行JAVA PROJECTS。此选项不清楚,它看起来与指向右侧|-->的箭头类似。

我希望这会有所帮助,如果你有任何问题,请发表评论,我会尽量在可能的时候回复。

票数 0
EN

Stack Overflow用户

发布于 2021-09-17 07:44:43

基本上,java扩展从引用的库中查找jars。

以下是我对你们问题的回答:

  1. 右键单击jar并选择copy relative path,然后将其添加到设置中,单击刷新按钮,然后在引用库选项下显示添加的jar:
  2. CLASSPATH变量是告诉应用程序(包括JDK工具)在哪里查找用户类的一种方法。当涉及到添加jars时,设置java.project.referencedLibraries将获胜。
  3. 无法选择jar文件夹,但您可以使用键盘快捷方式选择所有jar,然后添加它们。
  4. 有一个名为"java.configuration.checkProjectSettingsExclusions"的设置,默认情况下是正确的,所以.project.classpath不会在VS代码中显示。
  5. 命令Classpath在我的机器上工作,它可以自定义当前项目。
  1. 我的猜测是,当您打开一个新项目时,vscode会弹出一个窗口并询问您是否信任它,您选择了而不是,然后项目是只读的。然后,信任工作区尝试命令Classpath:再次配置,它应该是可写的。
票数 2
EN

Stack Overflow用户

发布于 2022-03-23 07:55:12

我只需更改.classpath文件中jars的路径字符串,它就可以工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69216059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档