我是个初学者,学了半年Java(我学的第一种编程语言),没有什么经验。
我写了一个小程序(窗口应用程序),但不知如何将其打包。
现在只能通过在命令提示符中输入“java Application”来运行,非常麻烦。
我想知道Java是如何打包class文件及相关文件到安装包或者压缩包的,实现与普通应用程序类似的启动方式。
请前辈们多多指教。

解决方案 »

  1.   

    Read:
    http://jishudaima.iteye.com/blog/956312
      

  2.   

    如果你使用eclipse的话,应该已经有了一些插件,你直接export时保存为jar就好
      

  3.   

    在要打包的项目上击右键,选择export,在窗口中选择Java里的JAR file。next后的窗口中已经自动选好了要打包的项目,用户可以点击加号查看项目里被打包的内容。
      

  4.   

    打包好了,但是无法运行。
    我写的是窗口应用程序,但打开后(默认java.exe打开),只有一个控制台,闪过几行字符就消失了。
      

  5.   

    在自己的 eclipse装了 个插件 可以打包的
      

  6.   

    用ant打包<?xml version="1.0"?>
    <project name="PRO_NAME" default="all" basedir=".">    <property name="src.dir"       value="src" />
        <property name="classes.dir"   value="WEB-INF/classes" />
        <property name="lib.dir"       value="WEB-INF/lib" />    <!--用于输出打包的文件夹-->
        <property name="temp.dir"      value="${java.io.tmpdir}/${ant.project.name}" />
        <property name="target.dir"    value="target" />    <!-- 定义classpath -->
        <path id="master-classpath">
            <fileset file="${lib.dir}/*.jar" />
            <pathelement path="${classes.dir}" />
        </path>    <target name="clean">
            <delete dir="${classes.dir}" />
            <delete dir="${temp.dir}" />
            <delete file="${target.dir}/${ant.project.name}.jar"/>
            <delete file="${target.dir}/${ant.project.name}.war"/>
            <delete dir="${target.dir}" />
        </target>    <!-- 初始化任务 -->
        <target name="init" depends="clean">
            <mkdir dir="${target.dir}" />
            <mkdir dir="${temp.dir}" />
            <mkdir dir="${classes.dir}" />
        </target>    <!-- 编译 -->
        <target name="compile" depends="init" description="compile the source files">
            <javac srcdir="${src.dir}" destdir="${classes.dir}"  debug="true" encoding="GB2312">
                <classpath refid="master-classpath" />
            </javac>
            <copy todir="${classes.dir}" overwrite="true">
                <fileset dir="${src.dir}">
                    <include name="**/*.xml" />
                    <include name="**/*.properties" />
                </fileset>
            </copy>
        </target>    <!--打jar包-->
        <target name="jar" depends="compile">
            <jar jarfile="${target.dir}/${ant.project.name}.jar">
                <fileset dir="${classes.dir}">
                    <include name="**/*" />
                </fileset>
            </jar>
        </target>    <target name="preWar" depends="jar">
            <copy todir="${temp.dir}/WEB-INF/lib" overwrite="true">
                <fileset dir="${target.dir}">
                    <include name="${ant.project.name}.jar"/>
                </fileset>
            </copy>
            <copy todir="${temp.dir}" overwrite="true">
                <fileset dir="${basedir}">
                    <include name="${lib.dir}/*.jar" />
                    <include name="index.html" />
                    <include name="page/**/*.*" />
                    <include name="WEB-INF/*.xml" />
                </fileset>
            </copy>
        </target>
        
        <!--打war包-->
        <target name="war" depends="preWar">
            <jar jarfile="${target.dir}/${ant.project.name}.war">
                <fileset dir="${temp.dir}">
                    <include name="**/*.*"/>
                </fileset>
            </jar>    
        </target>    <target name="all" depends="war">
            <delete dir="${temp.dir}"/>
        </target></project>