【问题标题】:build.xml ant questionbuild.xml 蚂蚁问题
【发布时间】:2011-03-24 16:02:26
【问题描述】:

运行小程序时出现以下异常: 线程“AWT-EventQueue-4”中的异常 java.lang.NoClassDefFoundError: ice/net/SnapshotCacheManager

但文件在 jar 中。

我在网上搜索了一下,发现可能是小程序没有在当前目录中查找有关,我需要添加.;到 CLASSPATH 但我不知道如何将它添加到 build.xml

谢谢

多伦

编辑:最后我弄明白了,这不是蚂蚁问题或构建 XML,我得到了这个异常,因为我对包含相同包的两个 jar 进行了不同的签名,所以发生了冲突,不是一个非常有用的异常。 ...

【问题讨论】:

    标签: java ant applet build.xml jar-signing


    【解决方案1】:

    查看当前 build.xml 文件中的内容可能很有用,但您可能想要查看的部分是 <target> 元素,特别是 <src path><fileset> 元素。这是一个非常粗略的示例,其中包含一些指导变量。

    <property name="classes.home"          value="/myproject/src"/>
    
    <target name="compile_myproject" depends="clean">
        <javac destdir="${classes.home}" debug="off" optimize="on" deprecation="on">
            <classpath>
                <fileset dir="/location/of/jars/">
                    <include name="*.jar"/>
                    <exclude name="jar-I-dont-want.jar"/>
                </fileset>
                <fileset dir="/location/of/axis2/jars">
                    <include name="**/*.jar"/>                    
                </fileset>
            </classpath>
            <src path="${classes.home}"/>
            <include name="/test/**/*.java"/>
            <include name="other/location/*.java"/>
            <exclude name="/debug/and/useless/files/**/*.java"/>
        </javac>
    </target>
    

    请注意,${classes.home} 是定义在 build.xml 文件顶部的特殊变量。许多变量可用于使事情变得更容易并指定相对路径。

    【讨论】:

    • 但我有一个问题,小程序在运行时无法识别 jar 内的文件。我该如何定义它?
    • 嗯,这很难。有趣的是我知道我在非常相似的情况下(所有东西都编译和运行)看到了同样的异常。但我不记得确切的原因。我假设您在类文件的顶部有正确的导入语句,否则我认为这会导致编译错误(尽管我这样做已经有一段时间了)...您是否检查了编译输出以确保它编译时没有错误。如果 Ant 找到一个旧类文件,它仍然会用一个旧类文件组装一个 jar,其中可能没有相同的定义......这就是我现在得到的一切......对不起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多