这是我的目标:使用 SableCC 在运行时生成多个解析器/词法分析器,并加载它们的实例以进行解析和词法分析。
所以我想我的步骤是:
.java
使用 SableCC生成文件。我想我已经做到了,很好。.java
将文件编译为.class
文件。我使用JavaCompiler
. 我认为这也很好。将生成的文件放在一个
.jar
文件中,保留文件结构。我用这个作为模板来做这个。.jar
使用JarBrowser检查文件显示包的文件结构被保留。使用它,Jar Catalog 看起来与常规.jar
文件相同。但是,使用 JarBrowser,我的 jar 不会显示在“CLASSPATH 目录”下。这让我相信我的.jar
文件没有正确创建。.jar
将文件加载到URLClassLoader
. 我正在尝试使用它来加载它,Class.forName()
但它似乎不起作用。
每当我执行第 4 步时,我都会得到一个java.lang.ClassNotFoundException
. 有没有人知道为什么会这样?