繁体   English   中英

Ant类路径顺序

[英]Ant classpath Order

如何在ant中设置classpath顺序?

具体来说,当我尝试运行我的ant构建时,我需要它来获取jar中的类(jaxws-api.jar)而不是jre中的同一个类。 我目前正在设置类路径以明确包含那些罐子,但它似乎仍然首先拿起jre。 我正在寻找的是在“Build Configuration”菜单下eclipse中的Order / Export的某种类型。

编辑:我会更明确。 我有一些用CXF 2.1.3生成的类。 他们调用javax.xml.ws.Service#getPort(QName,Class,WebServiceFeature ...)。 我使用的是Java 1.6.02版。 该方法在该版本的该类中不存在。 但是,它确实存在于类的jaxws版本(以及更高版本的JRE类)中。 当我尝试进行ant构建时,总是在jaxws版本之前拾取JRE类。 这使我的编译失败。 如何修改我的类路径以将JRE放在最后?

我无法更改JRE版本,因此请不要将其作为修复建议,除非它是唯一可能的版本。

看起来您需要在JavacJava Ant任务中使用bootclasspath设置。

您始终可以执行ant -v来获取Ant构建的详细输出。

我在使用Google Web工具包和servlet 3.0 API文件时遇到了同样的问题。 我需要确保我的servlet API jar在GWT库jar之前。 这是有效的:

<path id="classpath">
        <filelist>
            <file name="${build.input}/__lib__/servlet-api.jar"/>
        </filelist>
        <fileset dir="${build.input}/__lib__">
            <include name="*.jar" />
        </fileset>
        <fileset dir="${build.input}/WEB-INF/lib">
            <include name="*.jar" />
        </fileset>
    </path>

请注意,首先需要首先列出文件列表中的jar,然后我可以添加其他目录中的jar。 我在接受的答案中尝试了bootclasspath并且它不起作用。

ant类路径中的jar按您声明的顺序放置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM