這是我的目標:使用SableCC在運行時生成幾個分析器/詞法分析器,並加載它們的實例以進行分析和搜索。在以編程方式創建的.jar文件中加載一個類
所以我想我的步驟將是:
生成使用SableCC的
.java
文件。我想我已經做到了,很好。編譯
.java
文件到.class
文件。我用JavaCompiler
做了這個。我認爲這也很好。將生成的文件放在
.jar
文件中,保留文件結構。我使用this作爲模板。使用JarBrowser檢查.jar
文件顯示包的文件結構已被保留。使用它,Jar Catalog看起來與常規文件.jar
相同。但是,使用JarBrowser,我的jar不會顯示在「CLASSPATH目錄」下。這導致我相信我的.jar
文件沒有被正確創建。將
.jar
文件加載到URLClassLoader
的實例中。我試圖用Class.forName()
加載它,但它似乎沒有工作。
每當我做第4步,我得到一個java.lang.ClassNotFoundException
。有沒有人有任何想法,爲什麼這是?
可能的重複[我應該如何在運行時動態加載JARS?](http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime) –
@EugeneRetunsky:我已經去過這個問題。我使用幾乎相同的代碼,但它不起作用。因此,不同的問題:P –
你試過這個:http://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime? –