发现在idea mvn compile是成功,但在idea运行还是报错:scala: Cannot connect to compile server at localhost/127.0.0.1:3200 (Connection refused: no further information) [Chuneng-SaaS]Trying to compile without itCompiling… [Chuneng-SaaS]scala: compiling 145 Scala sources and 57 Java sources to D:\newcode\gyy\safety-alert-flink\target\classes …scala: there were 16 deprecation warnings; re-run with -deprecation for details
scala: ## Exception when compiling 202 sources to D:\newcode\gyy\safety-alert-flink\target\classesjava.lang.RuntimeException: java.lang.ExceptionInInitializerErrorjdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:168)jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)sbt.internal.inc.javac.LocalJavaCompiler.run(LocalJava.scala:345)sbt.internal.inc.javac.AnalyzingJavaCompiler.$anonfun$compile$12(AnalyzingJavaCompiler.scala:172)scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)sbt.internal.inc.javac.AnalyzingJavaCompiler.timed(AnalyzingJavaCompiler.scala:262)sbt.internal.inc.javac.AnalyzingJavaCompiler.compile(AnalyzingJavaCompiler.scala:161)sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compileJava$2(MixedAnalyzingCompiler.scala:103)sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compileJava$2$adapted(MixedAnalyzingCompiler.scala:91)sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compileJava$1(MixedAnalyzingCompiler.scala:91)scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248)sbt.internal.inc.MixedAnalyzingCompiler.compileJava(MixedAnalyzingCompiler.scala:61)sbt.internal.inc.MixedAnalyzingCompiler.compileJava0$1(MixedAnalyzingCompiler.scala:198)sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211)sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534)sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534)sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:180)sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:178)sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:464)sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:419)sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506)sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:406)sbt.internal.inc.Incremental$.apply(Incremental.scala:172)sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534)sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488)sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425)sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)org.jetbrains.jps.incremental.scala.local.SbtCompiler.$anonfun$doCompile$4(SbtCompiler.scala:92)scala.util.Try$.apply(Try.scala:210)org.jetbrains.jps.incremental.scala.local.SbtCompiler.doCompile(SbtCompiler.scala:90)org.jetbrains.jps.incremental.scala.local.SbtCompiler.compile(SbtCompiler.scala:20)org.jetbrains.jps.incremental.scala.local.LocalServer.doCompile(LocalServer.scala:47)org.jetbrains.jps.incremental.scala.ScalaBuilder$.fallbackToLocalServer$1(ScalaBuilder.scala:60)org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$4(ScalaBuilder.scala:72)scala.util.Either.map(Either.scala:382)org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$3(ScalaBuilder.scala:46)scala.util.Either.flatMap(Either.scala:352)org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$2(ScalaBuilder.scala:45)scala.util.Either.flatMap(Either.scala:352)org.jetbrains.jps.incremental.scala.ScalaBuilder$.compile(ScalaBuilder.scala:43)org.jetbrains.jps.incremental.scala.SbtBuilder.build(SbtBuilder.scala:74)org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1569)org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1198)org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1349)org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1163)org.jetbrains.jps.incremental.IncProjectBuilder$BuildParallelizer$1.run(IncProjectBuilder.java:1129)com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:244)com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:30)com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:222)com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:210)java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)java.base/java.lang.Thread.run(Thread.java:840) scala: Compilation failed when compiling to: D:\newcode\gyy\safety-alert-flink\target\classes java.lang.ExceptionInInitializerError jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:168) jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100) jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94) sbt.internal.inc.javac.LocalJavaCompiler.run(LocalJava.scala:345) sbt.internal.inc.javac.AnalyzingJavaCompiler.$anonfun$compile$12(AnalyzingJavaCompiler.scala:172) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) sbt.internal.inc.javac.AnalyzingJavaCompiler.timed(AnalyzingJavaCompiler.scala:262) sbt.internal.inc.javac.AnalyzingJavaCompiler.compile(AnalyzingJavaCompiler.scala:161) sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compileJava$2(MixedAnalyzingCompiler.scala:103) sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compileJava$2$adapted(MixedAnalyzingCompiler.scala:91) sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239) sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compileJava$1(MixedAnalyzingCompiler.scala:91) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248) sbt.internal.inc.MixedAnalyzingCompiler.compileJava(MixedAnalyzingCompiler.scala:61) sbt.internal.inc.MixedAnalyzingCompiler.compileJava0$1(MixedAnalyzingCompiler.scala:198) sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211) sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534) sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534) sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:180) sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:178) sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:464) sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116) sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56) sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52) sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263) sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:419) sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506) sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:406) sbt.internal.inc.Incremental$.apply(Incremental.scala:172) sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534) sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488) sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332) sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425) sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137) org.jetbrains.jps.incremental.scala.local.SbtCompiler.$anonfun$doCompile$4(SbtCompiler.scala:92) scala.util.Try$.apply(Try.scala:210) org.jetbrains.jps.incremental.scala.local.SbtCompiler.doCompile(SbtCompiler.scala:90) org.jetbrains.jps.incremental.scala.local.SbtCompiler.compile(SbtCompiler.scala:20) org.jetbrains.jps.incremental.scala.local.LocalServer.doCompile(LocalServer.scala:47) org.jetbrains.jps.incremental.scala.ScalaBuilder$.fallbackToLocalServer$1(ScalaBuilder.scala:60) org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$4(ScalaBuilder.scala:72) scala.util.Either.map(Either.scala:382) org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$3(ScalaBuilder.scala:46) scala.util.Either.flatMap(Either.scala:352) org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$2(ScalaBuilder.scala:45) scala.util.Either.flatMap(Either.scala:352) org.jetbrains.jps.incremental.scala.ScalaBuilder$.compile(ScalaBuilder.scala:43) org.jetbrains.jps.incremental.scala.SbtBuilder.build(SbtBuilder.scala:74) org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1569) org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1198) org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1349) org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1163) org.jetbrains.jps.incremental.IncProjectBuilder$BuildParallelizer$1.run(IncProjectBuilder.java:1129) com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:244) com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:30) com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:222)
解决方案
方案 A(推荐,改动最小):构建/运行全部委托给 Maven
已验证可行的 mvn 链路直接替代 IDEA 原生构建,完全绕开 JPS 进程和编译服务器:
Settings → Build, Execution, Deployment → Build Tools → Maven → Runner:- JRE:选
1.8(D:\Program Files\Java\jdk1.8.0_102) - 勾选 Delegate IDE build/run actions to Maven
- 之后再点 Run / Build,IDEA 实际执行的是
mvn compile exec:java ...(外部 JDK 8 进程) - 注意:委托模式下 Application 配置通过
exec:java 执行。如果发现 Program arguments / VM options 没被带过去,改用方案 B
方案 B:保留 IDEA 原生运行,只替换“运行前构建”步骤
- 先确认项目模型已是新仓库:Maven 工具窗口 → Reload All Maven Projects,然后
Project Structure → Libraries 任选一个依赖,路径必须是 D:\m2repo\...(不能是 C:\Users\华硕\.m2\...) Run → Edit Configurations → 你的运行配置 → Before launch:- 删除 Build
- 添加 Run Maven Goal → 工作目录选本项目,命令行填
compile
- 这样运行前由 mvn(JDK 8)编译,IDEA 再用 JDK 8 启动 main 类——classpath 全部是 ASCII 路径(D:\m2repo + target\classes),没有中文路径问题
方案 C(想彻底修好 IDEA 原生 Scala 构建,动作较大)
让编译服务器能在 JDK 8 下启动,必须先消灭它启动参数里的中文路径:
Help → Edit Custom Properties 中把 IDEA 各目录迁到 ASCII 路径:propertiesidea.system.path=D:/idea-home/system
idea.config.path=D:/idea-home/config
idea.plugins.path=D:/idea-home/plugins
idea.log.path=D:/idea-home/log重启 IDEA 后 Scala 插件需要重装一次,然后 Settings → Compiler → Scala Compiler 底部 Scala Compile Server → JDK 选 1.8,Rebuild- 或者退回去:关闭 Windows 的“Beta: 使用 UTF-8 提供全球语言支持”(ACP 恢复 936/GBK),JDK 8u102 处理 GBK 中文路径是正常的——但这会影响你其他依赖 UTF-8 代码页的工具,需权衡