我正在使用Launch4j从JAR创建一个EXE。
使用java -jar jarfile.jar
运行时,JAR文件可以正常工作。
但是,当我运行可执行文件时,我遇到了问题。
代码使用AnnotationDetector查找具有特定注释的类。我通过它进行调试,发现Thread.currentThread().getContextClassLoader()
返回jar:file:/C:/Windows/Temp/executable.exe!/com/package/of/annotated/classes/
。
当我尝试查看JAR文件" file:/C:/Windows/Temp/executable.exe!
"时,它找不到我的课程,因为它假设{{1}之后的片段},即jar:
,是一个JAR,但它不是。
为什么要生成资源URL?
OR
我如何浏览EXE,就像我拥有JAR一样?
OR
如何修复它以便找到我的课程?
我正在寻找能得到的任何帮助。但是,我不希望将类硬编码到静态列表中,而是允许运行时发现。
谢谢!