【问题标题】:java.net.MalformedURLException - unknown protocol: jrtjava.net.MalformedURLException - 未知协议:jrt
【发布时间】:2020-07-13 08:30:02
【问题描述】:

获取 (java.net.MalformedURLException) 未知协议:jrt 错误,建议在 Intellij 中重建项目。

堆栈跟踪 -

    Error:Internal error: (java.net.MalformedURLException) unknown protocol: jrt
java.net.MalformedURLException: unknown protocol: jrt
    at java.net.URL.<init>(URL.java:421)
    at java.net.URL.<init>(URL.java:310)
    at java.net.URL.<init>(URL.java:333)
    at com.intellij.compiler.instrumentation.InstrumentationClassFinder.createJDKPlatformUrl(InstrumentationClassFinder.java:61)
    at org.jetbrains.jps.incremental.instrumentation.ClassProcessingBuilder.createInstrumentationClassFinder(ClassProcessingBuilder.java:125)
    at org.jetbrains.jps.incremental.instrumentation.ClassProcessingBuilder.build(ClassProcessingBuilder.java:93)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1246)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:923)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:995)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:886)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:719)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:371)
    at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:178)
    at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:308)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:138)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:235)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Please perform full project rebuild (Build | Rebuild Project)

由于其他工件问题,通过 mvn 构建完整项目失败。

规格 -

java version "1.8.0_201"
IntelliJ IDEA 2017.3.7 (Ultimate Edition)

【问题讨论】:

  • 如果需要可以添加更多细节,请随时询问/评论。

标签: java maven intellij-idea


【解决方案1】:

对于未来用户对构建日志中为何出现以下行感到困惑:

javac 9 was used to compile java sources

即使您已将字节码版本、编译器等配置为 1.8,我还是建议您尝试使用其他 SDK,例如 Amazon Coretto (Project Structure -&gt; Project Settings -&gt; Project -&gt; Project SDK -&gt; Add SDK...)。

这解决了我的问题,让我陷入了这个非常晦涩的问题。

【讨论】:

  • 我尝试了其他 SDK 版本,它可以工作,老实说,为什么会发生这种情况,我认为每种口味都应该是一样的
【解决方案2】:

Java 9 引入了 JRT 命名空间。Java 8 及更低版本无法访问模块数据。

【讨论】:

    猜你喜欢
    • 2011-11-22
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 2019-03-28
    • 2012-09-03
    • 2016-10-08
    • 1970-01-01
    相关资源
    最近更新 更多