我正在尝试在 IDEA 中运行基于 java 的 Play 2.0 应用程序,但在编译时,我收到此错误:
信息:内部缓存已损坏或格式过时, 强制项目重建:模块“web-server”生产: java.io.IOException:无法运行程序“C:/Program Files (x86)/Java/jdk1.8.0_45/bin/java”(在目录中 “C:\Users\Documents\GitHub\web-server”): CreateProcess错误=267,目录名称无效
这发生在
ProcessBuilder.start()
动作期间。
我已确保所有路径变量都已正确设置,甚至更改它们以确保它们正常工作。让我想到这里的是,ProcessBuilder 似乎正在尝试使用正斜杠路径,但我正在 Windows 中运行。
我尝试从头开始重新加载我的项目,使缓存无效并重新启动,更新我的java安装(32位和64位),以及卸载并重新安装IDEA,但它似乎不起作用。同一个项目在另一台计算机上运行良好,所以我认为这可能是本地问题。任何帮助将不胜感激!
我最近遇到了这个问题,我分两步解决了。
第 1 部分
如果你的路径JAVA_HOME没问题:
文件→设置→构建、执行、部署→构建工具→Maven→运行器
设置为“使用JAVA_HOME(...路径...)”
如果您设置的是固定字符串,以后重新更新时可能会再次出现该问题。无论如何,你可以做到。
第 2 部分
文件 → 其他设置 → 默认项目结构
检查所有选项卡并确保所有路径都指向新安装的JDK(如果您更改其中一个,那么您应该全部更改,例如我在Annotations中更改)
如果无法选择路径(错误:路径无效),尽量不要使用C:\Program Files (x86)\Java...\中的路径——选择C:\Program Files\Java中的路径。 ..\(或反之亦然)
我也遇到了同样的问题,这是我解决的方法:
显然目录路径有问题。我的是“D:\IntelliJ Workspace\”,但在错误消息中它是“D:\IntelliJ+Workspace\”。当我删除目录名称中的空格时,错误已修复。
在您的情况下,“C:\Users\Documents\GitHub\web-server”有额外的反斜杠,因此当您修复此问题时,我认为您的错误将得到修复。
存在同样的问题,因为包含项目的文件夹名称中包含空格。删除空格并重命名后完美运行。
我也有类似的问题-
Cannot run program "E:\Java\jdk-17.0.2\bin\java.exe" (in directory with idea 14.1.4)
解决方案:
1.删除你的jdk
1.重新安装jdk。
2.然后再次构建您的项目并保存,运行它。
我对想法 14.1.4 也有同样的问题。 将 Maven Runner 选项更改为 Use JAVA_HOME 会有所帮助。 设置 > Maven > 运行器 将 JRE 设置为使用 JAVA_HOME。
我从jdk1.7更改为jdk1.8.0_212并且它有效 但是在编译时我使用jdk 1.7,在运行时使用jdk1.8.0_212
安装新的jdk版本后,我必须重新启动机器,如上所述,我使用文件→设置→构建、执行、部署→构建工具→Maven→运行器选择了正确的jdk。这对我有用。
我想我的 Java 已经更新了。
转到文件 |项目结构| SDK 并检查您的 SDK
按照其他帖子中的建议,转到 File → Settings → Build, Execution, Deployment → Build Tools → Maven → Runner 并选择正确的 JDK。