digitalgust / miniJVM

Develop iOS Android app in java, Cross platform java virtual machine , the minimal jvm .
MIT License
315 stars 89 forks source link

drawRegion #16

Open vad0sss opened 1 year ago

vad0sss commented 1 year ago

Hello, can you add drawRegion from the old j2me platform?

digitalgust commented 1 year ago

ok.let me try.

digitalgust commented 1 year ago

example :

1668055397330

package test;

import org.mini.apploader.GApplication;
import org.mini.gui.*;
import org.mini.gui.event.GActionListener;

import static org.mini.nanovg.Nanovg.*;

/**
 * @author gust
 */
public class MyApp1 extends GApplication {

    GForm form;

    @Override
    public GForm getForm() {

        if (form != null) {
            return form;
        }

        form = new GForm(null);

        GFrame cframe = new GFrame(form, "drawRegion", 0, 0, 500, 300);
        cframe.getView().add(new GCanvas(form, 0, 0, cframe.getView().getW(), cframe.getView().getH()) {
            GImage gimg = GImage.createImageFromJar("/res/test.png");

            public void paint(GGraphics g) {
                g.setClip(0, 0, this.getWidth(), this.getHeight());
                int imgw = gimg.getWidth();
                int imgh = gimg.getHeight();
                int gx = 120, gy = 120, fw = imgw / 2, fh = imgh / 2;
                g.drawRegion(gimg, fw, fh, fw, fh, GGraphics.TRANS_MIRROR_ROT90, gx, gy, GGraphics.HCENTER | GGraphics.VCENTER);
                g.setColor(0xffff00ff);
                g.drawRect(gx - 2, gy - 2, 5, 5);

                int dx = (int) (this.getW() - 100), dy = 0;
                g.drawImage(gimg, dx, dy, imgw, imgh, GGraphics.LEFT | GGraphics.TOP);
            }
        });
        cframe.setFront(true);
        cframe.setClosable(false);
        cframe.align(NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE);
        form.add(cframe);
        GButton bt = new GButton(form, "exit", 0, 0, 100, 20);
        form.add(bt);
        bt.setActionListener(new GActionListener() {
            @Override
            public void action(GObject gObject) {
                closeApp();
            }
        });
        return form;
    }
}
vad0sss commented 1 year ago

I'm trying to display the inscription test on the canvas, but something doesn't work for me

digitalgust commented 1 year ago

May you put your code in your github repo? GViewPort is a scalable containner, so you need not add canvas in a viewport, you can add a GPanel instead. this.mCanvas = new Game(form, 0, 0, 1, 1); is too small , try to new Game(form, 0, 0, 300, 300)

vad0sss commented 1 year ago

@digitalgust https://github.com/vad0sss/javaClient

digitalgust commented 1 year ago

An issue in canvas that setclip is wrong. fix and submited. Note that you setColor is ARGB data, but not j2me RGB

vad0sss commented 1 year ago

Thanks, setclip solved the problem

digitalgust commented 1 year ago

Graphics is not full j2me implementation , if there are any problem or request please let me know.

vad0sss commented 1 year ago

hi, can you add j2me's Font class analog or android's Paint class analog?

digitalgust commented 1 year ago

add GFont already

vad0sss commented 1 year ago

error: build lib\minijvm_rt.jar Удален файл - C:\Users\vadim\Desktop\miniJVM-master\binary\lib\minijvm_rt.jar C:\Users\vadim\Desktop\miniJVM-master\minijvm\java\src\main\java\java\text\SimpleDateFormat.java:35: error: cannot find symbol DontCareFieldPosition.INSTANCE).toString(); ^ symbol: variable DontCareFieldPosition location: class SimpleDateFormat Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error ..\minijvm\java\src\main\resource\sys.properties Скопировано файлов: 1. Удален файл - C:\Users\vadim\Desktop\miniJVM-master\binary\source.txt Перемещено файлов: 1. completed.

digitalgust commented 1 year ago

fixed the SimpleDateFormat.java

vad0sss commented 1 year ago

@digitalgust Hello, I did the assembly according to the instructions and everything went without errors. but binary/lib/minijvm_rt.jar file doesn't work. If you replace it from the previous assembly, then it works. you can send me a link to download it, or the entire project. Thank you

digitalgust commented 1 year ago
  1. run /binary/build_jar.sh or build_jar.bat generate minijvm_rt.jar, test on jdk8 or jdk11
  2. runt /binary/build_mac_linux.sh or build_winx64.bat generate executable file
  3. enter mac_x64 or other platform folder, run test.sh or test.bat that's done.

May be the build_jar script can't work on other jdk?

vad0sss commented 1 year ago

I have Java SE Development Kit 8u351. Here are some errors during compilation. Build MOBILE jars Подпапка или файл ..\mobile\assets уже существует. Подпапка или файл ..\mobile\assets\resfiles уже существует. build assets\resfiles\minijvm_rt.jar Не удается найти C:\Users\vadim\Desktop\miniJVM-master\mobile\assets\resfiles\minijvm_rt.jar Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. ..\minijvm\java\src\main\resource\sys.properties Скопировано файлов: 1. Удален файл - C:\Users\vadim\Desktop\miniJVM-master\binary\source.txt Перемещено файлов: 1. build assets\resfiles\glfm_gui.jar Не удается найти C:\Users\vadim\Desktop\miniJVM-master\mobile\assets\resfiles\glfm_gui.jar C:\Users\vadim\Desktop\miniJVM-master\mobile\java\glfm_gui\src\main\java\org\mini\glwrap\GLutil.java:21: error: class GLUtil is public, should be declared in a file named GLUtil.java public class GLUtil { ^ Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error ..\mobile\java\glfm_gui\src\main\resource\res\appmgr.png ..\mobile\java\glfm_gui\src\main\resource\res\entypo.ttf ..\mobile\java\glfm_gui\src\main\resource\res\NotoEmoji+NotoSansCJKSC-Regular.ttf ..\mobile\java\glfm_gui\src\main\resource\res\ui\AppManager.xml ..\mobile\java\glfm_gui\src\main\resource\res\ui\blue.png ..\mobile\java\glfm_gui\src\main\resource\res\ui\green.png ..\mobile\java\glfm_gui\src\main\resource\res\ui\home.png ..\mobile\java\glfm_gui\src\main\resource\res\ui\red.png ..\mobile\java\glfm_gui\src\main\resource\res\ui\yellow.png Скопировано файлов: 9. Удален файл - C:\Users\vadim\Desktop\miniJVM-master\binary\source.txt Перемещено файлов: 1. build assets\resfiles\ExApp.jar Не удается найти C:\Users\vadim\Desktop\miniJVM-master\mobile\assets\resfiles\ExApp.jar C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:3: error: package org.mini.apploader does not exist import org.mini.apploader.GApplication; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:4: error: package org.mini.gui does not exist import org.mini.gui.*; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:5: error: package org.mini.layout does not exist import org.mini.layout.UITemplate; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:6: error: package org.mini.layout does not exist import org.mini.layout.XContainer; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:7: error: package org.mini.layout does not exist import org.mini.layout.XEventHandler; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:8: error: package org.mini.layout does not exist import org.mini.layout.XmlExtAssist; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:9: error: package org.mini.nanovg does not exist import org.mini.nanovg.Nanovg; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:16: error: cannot find symbol public class MyApp extends GApplication { ^ symbol: class GApplication C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:18: error: cannot find symbol GForm form; ^ symbol: class GForm location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:19: error: cannot find symbol GMenu menu; ^ symbol: class GMenu location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:20: error: cannot find symbol GFrame gframe; ^ symbol: class GFrame location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:23: error: cannot find symbol public GForm getForm() { ^ symbol: class GForm location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:3: error: package org.mini.gui.gscript does not exist import org.mini.gui.gscript.DataType; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:4: error: package org.mini.gui.gscript does not exist import org.mini.gui.gscript.Interpreter; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:5: error: package org.mini.gui.gscript does not exist import org.mini.gui.gscript.Lib; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:9: error: cannot find symbol public class ExScriptLib extends Lib { ^ symbol: class Lib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:16: error: cannot find symbol public DataType call(Interpreter inp, ArrayList<DataType> para, int methodID) { ^ symbol: class Interpreter location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:16: error: cannot find symbol public DataType call(Interpreter inp, ArrayList<DataType> para, int methodID) { ^ symbol: class DataType location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:16: error: cannot find symbol public DataType call(Interpreter inp, ArrayList<DataType> para, int methodID) { ^ symbol: class DataType location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:26: error: cannot find symbol public DataType func1(ArrayList<DataType> para) { ^ symbol: class DataType location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:26: error: cannot find symbol public DataType func1(ArrayList<DataType> para) { ^ symbol: class DataType location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:34: error: cannot find symbol public DataType func2(ArrayList<DataType> para) { ^ symbol: class DataType location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:34: error: cannot find symbol public DataType func2(ArrayList<DataType> para) { ^ symbol: class DataType location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\GCustomList.java:3: error: package org.mini.gui does not exist import org.mini.gui.GForm; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\GCustomList.java:4: error: package org.mini.gui does not exist import org.mini.gui.GList; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\GCustomList.java:6: error: cannot find symbol public class GCustomList extends GList { ^ symbol: class GList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\GCustomList.java:8: error: cannot find symbol public GCustomList(GForm form, float left, float top, float width, float height) { ^ symbol: class GForm location: class GCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:3: error: package org.mini.gui does not exist import org.mini.gui.GObject; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:4: error: package org.mini.layout does not exist import org.mini.layout.XContainer; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:5: error: package org.mini.layout does not exist import org.mini.layout.XList; ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:7: error: cannot find symbol public class XCustomList extends XList { ^ symbol: class XList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:11: error: cannot find symbol public XCustomList(XContainer xc) { ^ symbol: class XContainer location: class XCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:21: error: cannot find symbol protected GObject createGuiImpl() { ^ symbol: class GObject location: class XCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:22: error: method does not override or implement a method from a supertype @Override ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:28: error: cannot find symbol GLanguage.setCurLang(GLanguage.ID_CHN); ^ symbol: variable GLanguage location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:28: error: cannot find symbol GLanguage.setCurLang(GLanguage.ID_CHN); ^ symbol: variable GLanguage location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:31: error: cannot find symbol String xmlStr = GToolkit.readFileFromJarAsString("/res/MyForm.xml", "utf-8"); ^ symbol: variable GToolkit location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:33: error: cannot find symbol UITemplate uit = new UITemplate(xmlStr); ^ symbol: class UITemplate location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:33: error: cannot find symbol UITemplate uit = new UITemplate(xmlStr); ^ symbol: class UITemplate location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:34: error: cannot find symbol UITemplate.getVarMap().put("Cancel", "CANCEL"); //replace keywork in xml ^ symbol: variable UITemplate location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:35: error: cannot find symbol UITemplate.getVarMap().put("Change", "Change"); ^ symbol: variable UITemplate location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:36: error: cannot find symbol UITemplate.getVarMap().put("Test", "Test"); ^ symbol: variable UITemplate location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:37: error: cannot find symbol UITemplate.getVarMap().put("Exit", "QUIT"); ^ symbol: variable UITemplate location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:38: error: cannot find symbol XContainer xc = (XContainer) XContainer.parseXml(uit.parse(), new XmlExtAssist(null)); ^ symbol: class XContainer location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:38: error: cannot find symbol XContainer xc = (XContainer) XContainer.parseXml(uit.parse(), new XmlExtAssist(null)); ^ symbol: class XContainer location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:38: error: cannot find symbol XContainer xc = (XContainer) XContainer.parseXml(uit.parse(), new XmlExtAssist(null)); ^ symbol: class XmlExtAssist location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:38: error: cannot find symbol XContainer xc = (XContainer) XContainer.parseXml(uit.parse(), new XmlExtAssist(null)); ^ symbol: variable XContainer location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:39: error: cannot find symbol int screenW = GCallBack.getInstance().getDeviceWidth(); ^ symbol: variable GCallBack location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:40: error: cannot find symbol int screenH = GCallBack.getInstance().getDeviceHeight(); ^ symbol: variable GCallBack location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:43: error: cannot find symbol xc.build(screenW, screenH, new XEventHandler() { ^ symbol: class XEventHandler location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:84: error: cannot find symbol if (gframe != null) gframe.align(Nanovg.NVG_ALIGN_CENTER | Nanovg.NVG_ALIGN_MIDDLE); ^ symbol: variable Nanovg location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:84: error: cannot find symbol if (gframe != null) gframe.align(Nanovg.NVG_ALIGN_CENTER | Nanovg.NVG_ALIGN_MIDDLE); ^ symbol: variable Nanovg location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:85: error: cannot find symbol menu = (GMenu) form.findByName("MENU_MAIN"); ^ symbol: class GMenu location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:92: error: cannot find symbol gframe.align(Nanovg.NVG_ALIGN_CENTER | Nanovg.NVG_ALIGN_MIDDLE); ^ symbol: variable Nanovg location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\MyApp.java:92: error: cannot find symbol gframe.align(Nanovg.NVG_ALIGN_CENTER | Nanovg.NVG_ALIGN_MIDDLE); ^ symbol: variable Nanovg location: class MyApp C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:12: error: cannot find symbol methodNames.put("func1".toLowerCase(), 0);// ^ symbol: variable methodNames location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:13: error: cannot find symbol methodNames.put("func2".toLowerCase(), 1);// ^ symbol: variable methodNames location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:27: error: cannot find symbol String str1 = Interpreter.popBackStr(para); ^ symbol: variable Interpreter location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:28: error: cannot find symbol String str2 = Interpreter.popBackStr(para); ^ symbol: variable Interpreter location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:35: error: cannot find symbol int a = Interpreter.popBackInt(para); ^ symbol: variable Interpreter location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:36: error: cannot find symbol int b = Interpreter.popBackInt(para); ^ symbol: variable Interpreter location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\ExScriptLib.java:37: error: cannot find symbol return Interpreter.getCachedInt(a + b); ^ symbol: variable Interpreter location: class ExScriptLib C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:15: error: method does not override or implement a method from a supertype @Override ^ C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:22: error: cannot find symbol return new GCustomList(getAssist().getForm(), x, y, width, height); ^ symbol: method getAssist() location: class XCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:22: error: cannot find symbol return new GCustomList(getAssist().getForm(), x, y, width, height); ^ symbol: variable x location: class XCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:22: error: cannot find symbol return new GCustomList(getAssist().getForm(), x, y, width, height); ^ symbol: variable y location: class XCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:22: error: cannot find symbol return new GCustomList(getAssist().getForm(), x, y, width, height); ^ symbol: variable width location: class XCustomList C:\Users\vadim\Desktop\miniJVM-master\mobile\java\ExApp\src\main\java\test\ext\XCustomList.java:22: error: cannot find symbol return new GCustomList(getAssist().getForm(), x, y, width, height); ^ symbol: variable height location: class XCustomList 68 errors ..\mobile\java\ExApp\src\main\resource\config.txt ..\mobile\java\ExApp\src\main\resource\res\appmgr.png ..\mobile\java\ExApp\src\main\resource\res\Frame1.xml ..\mobile\java\ExApp\src\main\resource\res\hello.png ..\mobile\java\ExApp\src\main\resource\res\MyForm.xml Скопировано файлов: 5. Удален файл - C:\Users\vadim\Desktop\miniJVM-master\binary\source.txt Перемещено файлов: 1. completed.

vad0sss commented 1 year ago

If I run build_jar.bat jdk11 I get an error: error: option --boot-class-path not allowed with target 11

digitalgust commented 1 year ago

i see. the file GLutil.java is an invalid filename , it should be GLUtil.java , so glfm_gui.jar dose not built, that's it .i will fixed it .

vad0sss commented 1 year ago

I renamed GLUtil.java Ran build_jar.bat and build_winx64.bat everything built without error. When running test.bat got this: image https://ru.files.fm/u/73syxrmyp

digitalgust commented 1 year ago

Ok, I've fixed it on windows platform , It's a bug that load a class file from jar with '\' seaparator, it isn't a valid path string.

vad0sss commented 1 year ago

Great, problem solved. Thank you.