2013-12-13 46 views
1

您好,我不確定是否有人有任何perl Inline :: Java調用Java JAXB的經驗。基本上,我在我的Perl腳本中添加了一些代碼來調用一些調用JAXB的Java API。perl Inline :: Java與JAXB

System.out.println(「before…」); 
JAXBContext context = JAXBContext.newInstance("SomeXMLPackage"); 
System.out.println(「after…」); 

並且它在JAXB語句上失敗。然後我加入調試和AUTOSTUDY選項在Perl像下面

use Inline (
    Java => 'DATA', 
    J2SDK => $ENV{JAVA_HOME}, 
    CLASSPATH => 'classes', 
    AUTOSTUDY => 1, 
    DEBUG => 4, 
); 

然後我看到 【JAVA] [3]發送的分組是確定JAVA_OBJECT:1:1:javax.xml.bind.JAXBException [perl的] [ 3] packet recv is ok java_object:1:1:javax.xml.bind.JAXBException [perl] [3]檢查stub是否是數組... [perl] [3] perl不知道'javax。 xml.bind.JAXBException'('perlAPI :: javax :: xml :: bind :: JAXBException') [perl] [2] autostudying javax.xml.bind.JAXBException ... [perl] [3] perl doesn '瞭解'javax.xml.bind.JAXBException'('perlAPI :: javax :: xml :: bind :: JAXBException') [perl] [3]報告javax.xml.bind.JAXBException

我希望perl的內嵌JAXB工作

感謝

回答

1

好了,想通了。這是答案。基本上,需要創建一個類加載器。

ClassLoader cl = SomeXMLPackage.ObjectFactory.class.getClassLoader(); JAXBContext context = JAXBContext.newInstance(「SomeXMLPackage」,cl);