我查看了这个问题和许多其他的帖子来帮助我解决我的问题,但是没有什么效果。
我试图在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项目的引用库感到困惑。以下是问题摘要:
.classpath
文件添加库与修改settings.json
文件有什么区别?哪一个会赢?.classpath
和.project
文件?只有在从Windows文件资源管理器中以vscode打开文件时,它才会显示。Configure Classpath
,但它是只读的,我认为它与.classpath
文件相同。有办法从vscode UI中改变它吗?.classpath
文件或从.classpath
文件中删除classpathentry
行时,将删除vscode视图中JAVA PROJECTS
下的节点“Referenced(只读)”。为什么?有关更多细节,请参见下面的快照。
谢谢你的帮助。
发布于 2021-09-21 20:27:29
莫莉·韦德的回答对我帮助很大。以下是我为永久解决这个问题所做的事情。我多次应用下面的步骤来验证它们每次都会起作用。
在Eclipse和vscode中打开Java项目的步骤:
java.home
。这必须是JDK-11或更高版本,才能让vscode为Java项目正常运行。settings.json
中的"java.configuration.runtimes"
部分中添加对已安装JDK的引用。JAVA PROJECTS
视图中选择JAVA PROJECTS
选项。确保检测到Java项目的JDK并确保其正常工作。Language Server
的,当构建/编译完成时,它将变成一个看起来像拇指向上的图标。Configure Java Runtime
,以验证vscode检测到了JDK。JRE System Libraries
和Referenced Libraries
在JAVA PROJECTS
视图下都是可见的,没有任何错误。检查问题视图并尝试解决所有错误。Referenced Libraries
应该是Read Only
,因为这个项目是在Eclipse中设置的。您可以删除.classpath
和.project
文件,并在vscode中再次打开项目,并尝试通过使用+
按钮添加库来解决问题。当这些文件被删除时,项目将变成Unmanaged
。稍后,您可以还原这些文件。当项目是unmanaged
时,您可以从JAVA PROJECTS
视图中使用Configure Java Runtime
,并且可以检查项目类型。您可以按照用户的"java.configuration.runtimes"
中的setting.json
部分将JDK更改为已安装的JDK之一。
Referenced Libraries
是只读的,即使您可以将库添加到settings.json中,也没有效果,但是.classpath
文件将获胜。JAVA PROJECTS
视图中,您可以使用选项Build Workspace
和Clean Workspace
来排除故障并尝试解决错误。Export JAR
视图上的选项进行JAVA PROJECTS
。此选项不清楚,它看起来与指向右侧|-->
的箭头类似。我希望这会有所帮助,如果你有任何问题,请发表评论,我会尽量在可能的时候回复。
发布于 2021-09-17 07:44:43
基本上,java扩展从引用的库中查找jars。
以下是我对你们问题的回答:
copy relative path
,然后将其添加到设置中,单击刷新按钮,然后在引用库选项下显示添加的jar:java.project.referencedLibraries
将获胜。"java.configuration.checkProjectSettingsExclusions"
的设置,默认情况下是正确的,所以.project
和.classpath
不会在VS代码中显示。发布于 2022-03-23 07:55:12
我只需更改.classpath文件中jars的路径字符串,它就可以工作了。
https://stackoverflow.com/questions/69216059
复制相似问题