Windows和Linux上的不同行为 - build.xml中的类路径(ant文件)

时间:2010-06-04 22:43:14

标签: java ant classpath

我正在尝试在Windows上运行eBaySDK(Java),但我一直在收到错误:

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

现在,当我尝试在Linux(ubuntu)上运行eBay SDK中包含的相同示例代码时,它运行得非常完美。没有任何代码更改。


所以,当我在windows中回顾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>

所以,我在类路径中添加了jaxp:

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

它也像windows中的魅力一样。

那么,当我在Windows上运行它时,为什么ANT文件中的行为存在差异(我必须在类路径中添加JAXP)和Linux (它在ANT文件的类路径中与JAXP一起工作的文件。)

由于


更新1

Java版本:

Ubuntu - java-6-sun-1.6.0.20

Windows - java6-ibm

但这有关系吗?如果是,那么如何?

1 个答案:

答案 0 :(得分:3)

我认为这只是关于如何在Ubuntu上打包ant的问题--Abuntu版本的Ant预装了Jaxp(ant依赖于libjaxp-java)。所以,jaxp已经在类路径上了。

如果您要在Ubuntu上手动安装ant,我认为您会发现与Windows相同的问题。