ソースフォルダ(Netbeansプロジェクトフォルダの外)を持つNetbeansプロジェクトがあります。これで、IDEからソースコードをコンパイルすると、すべてが正常に機能します。ただし、独自のビルドスクリプトを使用すると、実行時にエラーが発生します。
path
アプリケーションは、タグ内の要素と対応するrefid
属性を使用して指定したいくつかの外部ライブラリに依存していますclasspath
(以下のコードを参照)
これが私のビルドファイルです
<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からコンパイルされてうまく機能したので、コンパイル方法に何か問題があると思います。ビルドファイルに明らかな間違いはありますか?
ここで役立つ情報を見逃した場合はお知らせください。