`

用Ant为Java桌面应用程序打包

阅读更多

有时我们想将Java桌面应用程序打包成一个可执行程序,Eclipse虽然可以做到这点,但是出于对技术的全面了解,下面说说Ant的部署项目的build.xml文件的常用配置

 

先配置Ant的操作系统环境变量,下载ant并解压,将ant文件夹下的bin文件夹路径复制,如:C:\apache-ant-1.8.1\bin,并添加到PATH环境变量中.

 

打开命令提示符窗口,进入项目文件夹下,本项目名为"ant-test",如图

 

 

 

"ant -f build.xml"命令的意思是,在此项目下通过build.xml配置文件来部署项目,你可输入"ant -help"查看帮助,若显示'...' 不是内部或外部命令,也不是可运行的程序或批处理文件,恭喜你环境变量配置错误。

 

下面是build.xml配置文件的简单介绍,详情可点击http://ant.apache.org/manual/tasklist.html来查看每个设置的含义.

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- name为项目名称,basedir为项目路径,当我们在命令提示符中进入要编译的项目文件夹时,就可通过"."来表示此路径 -->
<!-- default为项目默认执行的目标"target" -->
<project name="ant-test" basedir="." default="all">
	<!-- 下面是声明变量,以便下面的操作直接用变量名替代,用${变量名}来使用变量 -->
	<property name="bin" value="bin"/>
	<property name="src" value="src"/>
	<property name="classes" value="${bin}/classes"/>
	<property name="main-class" value="org.chase.main.Main"/><!-- 程序运行入口 -->
	<property name="jar-name" value="MyApp.jar"/>
	<!-- target为ant需执行的工作,名称可随便取, -->
	<!-- depends参数是制定执行当前target所要依赖的target,意思是在当前目标被执行前,你所依赖的目标也会被执行-->
	<target name="prepare">
		<tstamp/><!-- 时间戳timestamp -->
		<mkdir dir="${bin}"/><!-- 创建文件夹 -->
		<mkdir dir="${classes}"/>
	</target>
	<target name="compile" depends="prepare">
		<!-- 编译源代码 -->
		<javac srcdir="${src}" destdir="${classes}"/>
		<!-- 拷贝资源文件 -->
		<copy todir="${classes}" includeEmptyDirs="no">
			<!-- 设置所要拷贝的文件的通配符 -->
            <fileset dir="${src}" excludes="**/*.java,**/*.jar"/>
        </copy>
	</target>
	<target name="jar" depends="compile">
		<!-- jarfile指定生成的jar文件路径和名称,basedir是要打包的文件夹路径 -->
		<jar jarfile="${jar-name}" basedir="${classes}">
			<fileset dir="${src}"/>
			<!-- 生成的Jar文件的的 manifest配置文件-->
			<manifest>
		      <attribute name="Built-By" value="Chase"/>
		      <attribute name="gfdgfd" value="gfhgfhghew"/><!-- 貌似此属性可以随便设 -->
		      <attribute name="Main-Class" value="${main-class}"/><!-- 设置程序运行入口 -->
		    </manifest>
		</jar>
	</target>
	<!-- 对项目执行清除操作,此处只是删除生成的class文件 -->
	<target name="clean">
		<delete dir="${classes}"/>
	</target>
	<!-- 执行生成的Jar文件 -->
	<target name="run" depends="jar">
        <java jar="${jar-name}" fork="true"/>
    </target>
	<!-- 设置默认执行的目标"all" -->
	<target name="all" depends="clean,run"/>
</project>

 

注意,此配置文件不能出现中文注释,使用时务必删除注释或改为英文.

 

 

为了简化代码, "ant-test"项目只是显示一个背景图片的JFrame,如图:

 


 

若JAR文件双击不能运行,则是文件打开方式有误,修改以jar为后缀名的文件的打开方式即可,如图:

 



 

 将"用于执行操作的应用程序"下的文本框输入运行程序的javaw.exe文件路径和参数即可,如"C:\jdk1.6.0_10\bin\javaw.exe -jar "%1" %*"

 

 

 

jar下载

 

源码下载
 

  • 大小: 9 KB
  • 大小: 73.2 KB
  • 大小: 71.1 KB
分享到:
评论

相关推荐

    Java应用程序项目的打包与发行工具

    在Java开发过程中,将应用程序打包和发行是项目完成后的关键步骤。这确保了代码能够以易于分发和安装的形式提供给用户。本文将详细介绍Java应用程序的打包与发行过程,以及可能涉及的相关工具。 首先,我们要了解...

    java程序打包工具

    Java程序打包工具是开发者在开发过程中必不可少的辅助工具,它们主要负责将源代码、资源文件、依赖库等组件整合成可执行的格式,以便于分发、部署和运行。在这个场景中,提到的"project-mjar-0.4"很可能是一个特定的...

    eclipse基于ant自动化打包

    3. **org.eclipse.rcp-3.8.2**: 这是Eclipse RCP的特定版本,RCP是Eclipse提供的一个框架,允许开发者创建桌面应用程序,具有类似Eclipse的用户界面和特性。 接下来,我们将详细阐述如何使用这些组件进行自动化打包...

    JSmooth(Java打包工具)

    JSmooth,全称为Java Smooth Operator,是一款强大的Java打包工具,专为了解决Java应用程序在没有Java运行环境(JRE)的计算机上运行的问题而设计。通过JSmooth,开发者可以将Java应用程序与合适的JRE版本一起打包...

    Launch4j 教程——JAR应用程序生成exe

    ### Launch4j 教程——JAR应用程序生成exe ...通过遵循以上步骤,您可以轻松地将 Java 应用程序打包为 Windows 可执行文件,并解决一些常见的问题。这样不仅方便了用户的使用,也提高了应用程序的稳定性和兼容性。

    关于网络爬虫的小程序 包括ant编译

    这个名为"网络爬虫的小程序 包括ant编译"的项目,显然旨在帮助开发者学习和理解如何构建一个简单的网络爬虫,并结合Java Swing来创建用户界面,同时利用Ant构建工具进行项目的管理和编译。 首先,我们来看看Java在...

    RCP产品打包成exe文件

    在IT行业中,RCP(Rich Client Platform)是一种用于构建桌面应用程序的框架,它源自Eclipse项目,提供了丰富的用户界面和强大的插件系统。RCP产品的开发者通常需要将他们的应用程序打包成可执行文件(exe),以便于...

    java Desktop支持

    10. 打包和部署:Java打包工具如JAR、FatJar或Apache Ant、Maven可以帮助开发者将应用程序打包成可执行的JAR文件或安装程序,方便用户下载和安装。 综上所述,Java Desktop支持涵盖了从GUI组件、事件处理、文件操作...

    xcalc_source.zip_java 计算器_计算器 JAVA 程序

    【标题】"xcalc_source.zip_java ...通过深入研究这个源代码,开发者不仅可以学习到如何使用Java构建桌面应用程序,还能了解如何实现复杂的数学计算和图形绘制,对于提升Java编程技能和数学理解能力都有很大帮助。

    java模仿window平台的NotePad,编写的一个简单的“记事本”程序

    "java模仿window平台的NotePad,编写的一个简单的“记事本”程序"这个标题表明,这是一个使用Java编程语言实现的项目,它的功能是对Windows操作系统内置的Notepad(记事本)应用程序进行模拟。这个Java版本的记事本...

    java 打包

    对于桌面应用程序,通常会打包成JAR格式;对于Web应用,则打包成WAR格式;如果是大型的分布式系统,可能还会涉及到EAR(Enterprise Archive)格式。 1. **JAR文件**: JAR文件是Java平台特有的归档格式,它可以...

    java开发之必备工具jdk12.0.2window10-64位

    它包括Java编译器(javac)、Java运行时环境(JRE)、Java文档生成器(javadoc)、Java调试器(jdb)以及其他一些实用工具,如jar工具用于打包和管理类库,以及jconsole用于监控Java应用程序的性能。 JDK 12.0.2是...

    ant-swing-1.6.2.jar.zip

    这使得他们能够在Ant的帮助下,利用Swing库创建和管理复杂的桌面应用程序,同时利用Ant的强大自动化能力简化整个开发流程。 总的来说,Ant Swing是Ant工具的一个扩展,用于支持Swing组件的构建任务,而"ant-swing-...

    ant-swing.jar.zip

    Swing是Java的一个组件库,用于创建桌面应用程序的用户界面。它提供了丰富的组件,如按钮、文本框、滚动面板等,以及布局管理器来帮助组织这些组件。Swing是Java Foundation Classes (JFC)的一部分,提供了一种比...

    apache-ant-1.9

    3. **Qt**:Qt是一个跨平台的应用程序开发框架,常用于创建桌面和移动应用。在Android上使用Qt开发时,开发者可能需要与Android的原生构建系统集成,这时Ant就起到了桥梁的作用。 在"apache-ant-1.9.11"这个压缩包...

    多环境应用程序框架 WebOnSwing.7z

    【标题】"多环境应用程序框架 WebOnSwing.7z" 涉及的主要知识点是WebOnSwing框架,这是一个专为构建多环境应用程序设计的Java框架。它允许开发者使用Swing组件创建桌面应用程序,并通过Web技术将其部署到不同的运行...

    ant + freemarker + excel解析

    它类似于Unix的make工具,但它是跨平台的,并且专为Java应用程序设计。Ant使用XML来描述构建过程和依赖关系,使得构建脚本易于理解和维护。通过Ant,开发者可以自动化编译、打包、测试和部署Java项目,极大地提高了...

Global site tag (gtag.js) - Google Analytics