我正在寫使用了Javassist編譯另一個Java類的程序。生成的類使用一些對象,如BigDecimal, List, ArrayList
。於是我進口它們的軟件包:Javassist進行編譯錯誤沒有這樣的類
ClassPool pool = ClassPool.getDefault();
pool.insertClassPath(classDir); //classDir is my program Directory
pool.importPackage("java.util.List");
pool.importPackage("java.math.BigDecimal");
pool.importPackage("java.util.ArrayList");
然後我讓使用CtField.make()
每個對象的某些對象。當我使用Javassist進行編譯,它拋出錯誤:
CannotCompileException: [source error] no such class: BigDecimal
表工作正常,但是,BigDecimal的或ArrayList的都沒有。有什麼線索可以解決這個問題嗎?謝謝!通過添加確切的CLASSPATH new java.math.BigDecimal()
從new BigDecimal()
當然,那麼你可以刪除所有import語句。就像在普通的Java代碼中一樣。 –