2010-06-04 81 views
2

我試圖在Windows上運行eBaySDK(渣),但我一直得到的錯誤:不同的行爲 - 類路徑中的build.xml(Ant文件)

com.ebay.sdk.SdkException: com.sun.org.apache.xerces.internal.dom.DocumentImpl 

現在,當我試圖運行Linux(ubuntu)上eBay SDK中包含的相同示例代碼,它運行得非常完美。在代碼中沒有任何更改。


所以,當我在我的窗戶回頭build.xml文件中的類路徑:

<property name="jaxws.lib.home" value="${basedir}/../../externalLib/jaxws-ri-2.1.4/"/> 
    <property name="apache.lib.home" value="${basedir}/../../externalLib/apache"/> 
    <property name="dest" value="classes.ant"/> 
    <property name="ebaysdklib.home" value="../../lib"/> 
    <property name="src" value="src"/> 
    <path id="run.classpath"> 
      <pathelement location="${jdk.home}/lib/tools.jar"/> 
      <pathelement path="${dest}"/> 
      <fileset dir="${jaxws.lib.home}"> 
       <include name="*.jar"/>    
      </fileset> 
      <fileset dir="${apache.lib.home}"> 
      <include name="*.jar"/>    
      </fileset> 
      <fileset dir="${ebaysdklib.home}"> 
      <include name="*.jar"/> 
      </fileset>  
    </path> 

所以,我在classpath中添加JAXP:

<property name="jaxp.lib.home" value="${basedir}/../../externalLib/jaxp-1.4.2"/> 
    ............... 
    <fileset dir="${jaxp.lib.home}"> 
    <include name="*.jar"/> 
    </fileset> 

和它的工作就像窗戶裏的魅力一樣。

那麼,爲什麼會出現在ANT文件活動的差異,當我在Windows(這裏我不得不在classpath中添加JAXP)而在Linux(運行在那裏工作的文件wihtout JAXP中。ANT文件的類路徑)

感謝


更新1

的Java版本:

Ubuntu的 - 的Java6 - 太陽1.6.0.20

的Windows - 的Java6,IBM

但關係?如果是,那麼如何?

+0

您正在使用哪個版本的Java?你在兩個系統上使用相同的版本嗎? – Jesper 2010-06-04 22:48:24

+0

感謝您的回覆,問題已更新。 – zengr 2010-06-04 23:05:49

回答

3

我想這只是一個關於如何在Ubuntu上打包ant的問題 - Ubuntu的Ant版本預先安裝了Jaxp(ant對libjaxp-java有依賴關係)。所以,jaxp已經在類路徑中了。

如果您要在Ubuntu上手動安裝ant,我想您會發現與使用Windows時相同的問題。

+0

而Windows的ANT不需要jaxb庫,它沒有它? – zengr 2010-06-04 23:33:35

+0

我檢查了它,它需要libxerces2-java作爲依賴項。 – zengr 2010-06-04 23:47:41