我将我的项目使用ant 打包成了monitorProject.jar(ant指定了主类), 我的项目用到了一些其他的jar 我用ant 打包时将所有的jar放到同一目录下,并将dll也放入进去,执行monitorProject.jar 中主类报:Exception in thread "main" java.lang.NullPointerException: cannot add null item
to Choice
        at java.awt.Choice.insertNoInvalidate(Unknown Source)
        at java.awt.Choice.addItem(Unknown Source)
        at java.awt.Choice.add(Unknown Source)
        at ipmsg.MainWindow.createWindow(Unknown Source)
        at ipmsg.MainWindow.<init>(Unknown Source)
        at ipmsg.Main.main(Unknown Source)
下面是我的ant:希望高手能帮助分析下原因,还有解释我有另外一个有main方法的主类调用了sign.jar,而这个是需要使用dll的,如果重新打包将主类修改成这个,运行时则报找不到sign.jar中的某个类。<?xml version="1.0"?><project name="monitorProject" default="pack" basedir=".">    <!-- 定义目录变量 -->    <property name="src.dir" value="${basedir}/src" />    <property name="java.lib.dir" value="${basedir}/src/lib" />    <property name="dist.dir" value="${basedir}/dist" />

<property name="classes.dir" value="${basedir}/classes"/> <path id="build.classpath">         <fileset dir="${java.lib.dir}">             <include name="*.*" />         </fileset> </path>    <!-- 首任务(空)-->    <target name="init"/>    <!-- 编译 -->    <target name="compile" depends="init">        <delete dir="${classes.dir}"/>        <mkdir dir="${classes.dir}"/>        <!--编译源程序-->        <javac srcdir="${src.dir}" destdir="${classes.dir}">
             <compilerarg line="-encoding UTF-8 "/>   
             <classpath refid="build.classpath" />
        </javac>
    
    </target>    <!-- 打包 -->    <target name="pack" depends="compile">        <!-- bin目录压缩成JAR包 -->        <delete dir="${dist.dir}"/>        <mkdir dir="${dist.dir}" />        <jar basedir="${classes.dir}" destfile="${dist.dir}/monitorProject.jar">
         <manifest>
          <attribute name="Built-By" value="${user.name}"/>
          <!--<attribute name="Main-Class" value="com.ccidit.sentEvent.SendEvent"/>-->
          <attribute name="Main-Class" value="ipmsg.Main"/>
         </manifest>        </jar>
      <copy todir="${dist.dir}">
                      <fileset dir="${java.lib.dir}">
                          <include name="*.*"/>
                      </fileset>
     </copy>    </target> 
</project>