在非Java IntelliJ IDEA项目中检查代码

9
我使用IntelliJ IDEA构建一个非Java项目,它只是一个PHP + Javascript项目,一切都很好,但是当我尝试检查项目中的所有代码(分析->检查代码)时,会出现以下错误:该项目未正确配置JDK。无法进行检查。 我做错了什么吗?即使项目不是Java,我是否必须配置SDK?注意:对于编辑器中打开的工作文件的自动代码检查正常工作,唯一的问题是当我尝试检查项目中的所有代码时。注意2:我不能使用PHPStorm或Webstorm。谢谢。

请查看在 JetBrains 论坛上的原始查询,有关在非 Java IntelliJ IDEA 项目上检查代码的内容。 - y2k-shubham
5个回答

8
在我的情况下,我不想删除模块,因为我配置了很多东西(数据源、字典、HTTP请求),并且在架子上有很多代码(我认为它存储在项目/模块中)。我发现你可以跳过“删除模块”这一部分,而是只需更新模块配置:
找到$module.iml文件(在我的情况下,它在.idea目录中),在顶部有一行:
<module type="JAVA_MODULE" version="4">

我将其更改为:
<module type="WEB_MODULE" version="4">

问题已经解决,我没有看到任何副作用,但是为了安全起见,您可能希望备份.idea目录。

请注意,这个架子是存储在版本控制系统中的(对于HG来说肯定是这样的,Git也可能是一样的),因为我放弃了Intellij的“Java”模块,创建了一个“静态网页”模块,而这个架子仍然充满了以前的东西。 - Xenos

6
我在https://youtrack.jetbrains.com/issue/IDEA-188017上提出了这个问题,经过一番讨论后,Jetbrains的员工帮助我发现我有一个Java模块。

如果您不使用Java,请创建一个静态Web类型的模块。现在您有一个Java类型的模块,因此会报告错误,所以行为是可以预期的。

请删除您的Java模块。 进入下面截图中的菜单后,找到“Static Web”类型并创建您的模块。

enter image description here


1
似乎添加了SDK后,代码分析器能够正常工作,即使项目中没有单独的Java模块。

也许这是一个错误,所以我会报告它。


2
你有机会报告它了吗? - Omer van Kloeten

1

我的项目的.idea/<project>.iml文件中有一个条目:

<orderEntry type="inheritedJdk" />

我退出了Idea,从iml文件中删除了上面的行,重新启动了Idea,下一个检查就没有任何问题了。


正确的答案。简单易行。不过得想想为什么这个漏洞存在了这么长时间。 - mattalxndr

0

最近我在我的Python项目中遇到了这个问题。经过很多挫折,我偶然发现了一个相当奇怪的解决方案:

IntelliJ抱怨JDK未配置时,在下面的对话框中,我只选择了JDK8(而不是Python 3.7.2路径),然后就好了。


我的环境是

IntelliJ IDEA 2018.3.4 (Community Edition)
Build #IC-183.5429.30, built on January 29, 2019
JRE: 1.8.0_152-release-1343-b26 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.2

这是我在 intellij-support 论坛上回复相关帖子的链接:链接 - y2k-shubham
然而,我想要补充的是,尽管这样做可以进行固定代码检查,但会导致这个问题 - y2k-shubham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接