运行以下处理代码时:
package model;
import processing.core.*;
public class UsingProcessing extends PApplet {
// The argument passed to main must match the class name
// method for setting the size of the window
public void settings(){
size(500, 500);
}
// identical use to setup in Processing IDE except for size()
public void setup(){
background(0);
stroke(255);
strokeWeight(10);
}
// identical use to draw in Processing IDE
public void draw(){
line(0, 0, 500, 500);
}
public static void main(String[] args) {
PApplet.main("model.UsingProcessing");
}
}我得到一个java运行时错误。
错误在下面。具体来说,它声明为"class processing.core.PApplet (in module core) cannot access class model.UsingProcessing (in module Test) because module Test does not export model to module core"
java.lang.RuntimeException: java.lang.IllegalAccessException: class processing.core.PApplet (in module core) cannot access class model.UsingProcessing (in module CovidSchoolSimulation) because module CovidSchoolSimulation does not export model to module core
at core/processing.core.PApplet.runSketch(PApplet.java:10227)
at core/processing.core.PApplet.main(PApplet.java:10072)
at core/processing.core.PApplet.main(PApplet.java:10054)
at CovidSchoolSimulation/model.UsingProcessing.main(UsingProcessing.java:26)
Caused by: java.lang.IllegalAccessException: class processing.core.PApplet (in module core) cannot access class model.UsingProcessing (in module CovidSchoolSimulation) because module CovidSchoolSimulation does not export model to module core
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392)
at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:489)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at core/processing.core.PApplet.runSketch(PApplet.java:10221)
... 3 morecore.jar文件在构建路径中,所以我不明白为什么它不能工作。
发布于 2022-02-03 06:36:57
你的项目中有一个模块-info.java吗?您所看到的错误消息:
java.lang.RuntimeException: java.lang.IllegalAccessException:类processing.core.PApplet (在模块核心中)无法访问类model.UsingProcessing (在模块CovidSchoolSimulation中),因为模块CovidSchoolSimulation没有将模型导出到模块核心。
意味着核心(处理)模块无法对您的模块进行反射。在PApplet.main("model.UsingProcessing");中传递类名时,它使用反射来实例化类。您需要在模块info.java中执行类似的操作,以允许核心模块使用模块CovidSchoolSimulation或Test上的反射,具体取决于您的错误消息是正确的:
module CovidSchoolSimulation {
opens CovidSchoolSimulation to core;
}https://stackoverflow.com/questions/70965114
复制相似问题