为什么我把class文件用ant 打成jar时 不能正确运行 但是 如果在jcreator里面 编译 执行 主类时 却可以正确运行呀 
我已经设置好了运行的主类。在点击生成的jar文件时,能够运行一部分,但是接下来会出错,按界面上的按钮时没了反应。但是如果把主类放在jcreator中编译 运行 确不会出错,为什么????希望高手帮帮忙,谢谢!

解决方案 »

  1.   

    什么错?
    看看jar缺不缺类
      

  2.   

    所有此类问题都是classnotfound 看看打包的对不对,完不完整,构建路径有没有加进去
      

  3.   

    能运行,说明主类是有的,但是只能部分正确,那可能就是是缺少了什么东西。
    是不是打jar包的时候没有把依赖包一起打进去,或者 没有2楼所说的构建路径
      

  4.   

    试下从控制台运行:
    java -jar 你的jar文件
      

  5.   

    <?xml version="1.0"?><project name="project" default="jar">    <property name="base.dir" value="." />
        <property name="lib.dir" value="${base.dir}/lib" />
        <property name="src.dir" value="${base.dir}/src" />
        <property name="dist.dir" value="${base.dir}/dist" />
        <property name="classes.dir" value="${dist.dir}/classes" />
        <property name="jar.dir" value="${dist.dir}/jar" />
        <property name="jar.name" value="${jar.dir}/student.jar" />
        <property name="jar.lib.dir" value="${jar.dir}/lib" />    <path id="compile.classpath">
            <fileset dir="${lib.dir}" includes="*.jar" />
        </path>    <target name="init">
            <mkdir dir="${jar.lib.dir}" />
            <mkdir dir="${classes.dir}" />
        </target>    <target name="compile" depends="init">
            <javac srcdir="${src.dir}" destdir="${classes.dir}">
                <classpath refid="compile.classpath" />
            </javac>
        </target>    <target name="jar" depends="compile">
            <jar destfile="${jar.name}" basedir="${classes.dir}">
                <manifest>
                    <!-- 这个 Main-Class 是必需的 -->
                    <attribute name="Main-Class" value="com.bao.main.StudentManagement" />
                    <!-- 如果有第三方的 jar 这个也是必须的 -->
                    <attribute name="Class-Path" value="lib/c3p0-0.9.1.2.jar lib/mysql-connector-java-5.1.5-bin.jar" />
                </manifest>
            </jar>
            <copy todir="${jar.dir}">
                <fileset dir="${base.dir}" includes="*.properties" />
            </copy>
            <copy todir="${jar.lib.dir}">
                <fileset dir="${lib.dir}" />
            </copy>
            <delete dir="${classes.dir}" />
        </target>    <target name="clean">
            <delete dir="${dist.dir}" />
        </target>
    </project>这个脚本的工程结构如下:PROJECT
        src
            <package>
                *.java
        lib
            *.jar
        build.xml
      

  6.   

    呵呵 谢谢火龙果 原来是少了 第三方的jar文件