我查看了这个问题和许多其他的帖子来帮助我解决我的问题,但是没有什么效果。
我试图在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
复制相似问题