有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Netbeans Java项目的ant自定义构建文件失败

我有一个Netbeans项目,它有一个源文件夹(在Netbeans项目文件夹之外)。现在,当我从IDE编译源代码时,一切正常。但是,当我使用自己的构建脚本时,它会在运行时出错

应用程序依赖于我使用path元素和classpath标记中相应的refid属性指定的几个外部库(请参见下面的代码)

这是我的构建文件

<project name="XX" default="dist" basedir=".">

    <property name="dir.src" location="E:/XX git/xx/src"/>
    <property name="nbproj" location="E:/Netbeans Project"/>

    <property name="dir.dist" value="dist"/>

    <path id="libs">
        <fileset dir="${nbproj}/dist/lib">
            <include name="*.jar"/>
        </fileset>
    </path>


    <target name="clean">
        <delete dir="dist"/>
        <delete dir="release"/>
        <delete dir="build"/>
    </target>


    <target name="compile">
        <mkdir dir="build/classes"/>
        <javac srcdir="${dir.src}" destdir="build/classes" includeantruntime="false">
            <classpath refid="libs"/>
        </javac>
    </target>

</project>

当我使用ant compile编译它时,它编译所有源文件,没有任何错误。但是,当我使用命令执行它时

java -cp "E:\Netbeans Project\dist\lib\*;." controller.CZSaw

它很好地创建了应用程序GUI,然后当我执行某些操作时,它失败并出现以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
        at controller.viewsynchronizer.CZViewManager.getIcon(Unknown Source)
        at view.script.CZScriptView.<init>(Unknown Source)
        at controller.script.CZScriptProcessor.<init>(Unknown Source)
        at controller.script.CZScriptProcessor.getInstance(Unknown Source)
        ...

我知道仅仅看源代码很难指出一些错误。但是,由于相同的代码在IDE中编译并运行良好,我认为我的编译方式有问题。构建文件中是否有任何明显的错误

如果我遗漏了一些有用的信息,请告诉我


共 (1) 个答案

  1. # 1 楼答案

    经典错误:假设因为在一个环境中“一切都很好”,意味着你做的每件事都是对的,并且对随后发生的任何错误都是无可指责的

    这意味着您的IDE处理了一些您不知道的事情

    看看你的第一节课:

    controller.viewsynchronizer.CZViewManager.getIcon(Unknown Source)
    

    看起来控制器正在查找不在类路径中的图标图像