检查非 java IntelliJ IDEA 项目的代码

Inspecting code on a non-java IntelliJ IDEA project

我正在使用 IntelliJ IDEA 构建一个非 java 项目,它只是一个 PHP + Javascript 项目,一切正常,但是当我尝试检查项目中的所有代码(Analyze -> Inspect Code)我得到一个错误:

此项目的 JDK 配置不正确。检查无法进行。

我是不是做错了什么?即使项目不是 java,我也必须配置 SDK 吗?

注意:在编辑器中打开的工作文件的自动代码检查工作正常,唯一的问题是当我尝试检查项目中的所有代码时。

注意 2:我不能使用 PHPStorm 和 Webstorm。

谢谢。

似乎添加一个 SDK,代码分析器工作正常,即使该项目没有单个 java 模块。

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

我在 https://youtrack.jetbrains.com/issue/IDEA-188017 提出了这个问题 - 经过一些来回,Jetbrains 员工帮助我弄清楚我有一个 Java 模块。

If you are not using Java, please crate a module of a Static Web type. Now you have a module of a Java type, that is why the error is reported, so such behaviour is expected.

删除您的 Java 模块。 进入下面屏幕截图中的菜单后,找到静态 Web 类型并创建您的模块。

在我的例子中,我不想删除模块,因为我配置了一堆东西(数据源、字典、http 请求)和架子上的很多代码(我相信它存储在project/module)。我发现您可以跳过 "delete your module" 部分,而只是更新模块配置:

找到 $module.iml 文件(在我的例子中它在 .idea 目录中),在顶部有一行:

<module type="JAVA_MODULE" version="4">

我改成了:

<module type="WEB_MODULE" version="4">

问题已解决,我没有看到任何副作用,但以防万一,您可能需要备份 .idea 目录。

我最近 运行 在我的 纯粹 Python 项目中遇到了这个问题。 百折不挠之后,我遇到了一个相当奇怪的解决方案:

When IntelliJ complained that JDK is not configured, in the following dialog box, I just selected JDK8 (instead of Python 3.7.2 path) and viola! its gone.


我的环境是

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

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

<orderEntry type="inheritedJdk" />

我退出了 Idea,从 iml 文件中删除了上面的行,重新启动了 Idea 并进行了下一次 Inspection 运行,没有任何问题。