ST意法半导体
直播中

张勇

7年用户 1482经验值
私信 关注
[问答]

使用OpenJDK 18.0.1.1在ArchLinux上生成代码失败是何问题

我的代码生成失败,出现以下异常:
  • Exception in thread "Thread-4645" java.lang.IllegalAccessError: class parsers.FromScratchParser (in unnamed module @0x6a84a97d) cannot access class com.sun.org.apache.xerces.internal.parsers.DOMParser (in module java.xml) because module java.xml does not export com.sun.org.apache.xerces.internal.parsers to unnamed module @0x6a84a97d
  •     at parsers.FromScratchParser.getDestinations(FromScratchParser.java:257)
  •     at convertor.Convertor.generate(Convertor.java:354)
  •     at com.st.microxplorer.plugins.projectmanager.model.ToolchainGenerator.generate(ToolchainGenerator.java:370)
  •     at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createToolChainFolders(ProjectBuilder.java:4150)
  •     at com.st.microxplorer.plugins.projectmanager.engine.ProjectBuilder.createProject(ProjectBuilder.java:916)
  •     at com.st.microxplorer.plugins.projectmanager.engine.GenerateProjectThread.run(GenerateProjectThread.java:54)
这是我的java版本
  • ❯ java --version
  • openjdk 18.0.1.1 2022-04-22
  • OpenJDK Runtime Environment (build 18.0.1.1+2)
  • OpenJDK 64-Bit Server VM (build 18.0.1.1+2, mixed mode)










回帖(1)

林明

2022-12-8 16:17:11
我有完全相同的问题。问题是 STM32CubeMX 不支持 java 18,只支持 java 11。
在 Arch 上,STM32CubeMX 可以配置为在每个应用程序的基础上使用 java 11,方法是编辑 /usr/bin/stm32cubemx(或在 $PATH 中优先创建)以使用显式运行时,例如:


  • #!/bin/sh
  • exec /usr/lib/jvm/java-11-openjdk/bin/java -jar /opt/stm32cubemx/STM32CubeMX "$@"

或者在系统范围内运行 `archlinux-java set java-11-openjdk`
举报

更多回帖

发帖
×
20
完善资料,
赚取积分