java怎么打包,java怎么打包发给别人

本文目录一览:

java如何打包

建议使用ANT打包工具,下载地址:

此工具用java编写,跨平台,能实现很多功能:编译、打包、运行、文件操作、数据库操作、自定义任务等。

主要使用方法:在工程目录下编写build.xml配置文件,然后运行ant即可:

#ant

#java -jar ant.jar

下面给你提供一个例子,是jakarta-oro-2.0.8的包的build.xml

?xml version=”1.0″?

project default=”jar”

!– Allow properties following these statements to be overridden —

!– Note that all of these don’t have to exist. They’ve just been defined

incase they are used. —

property file=”build.properties”/

!–

property file=”.ant.properties”/

property file=”${user.home}/.ant.properties”/

property file=”default.properties”/

!– prepare target. Creates build directories. —

target name=”splash”

splash imageurl=”./ant_logo_medium.gif”/

/target

target name=”prepare” depends=”splash” description=”Creates build directories.”

tstamp

format property=”DATE” pattern=”yyyy-MM-dd hh:mm:ss” /

/tstamp

mkdir dir=”${build.dest}”/

mkdir dir=”${build.dest}/META-INF”/

copy todir=”${build.dest}/META-INF”

fileset dir=”${top.dir}”

include name=”LICENSE”/

/fileset

/copy

mkdir dir=”${build.tests}”/

available file=”${jakarta-site2.dir}/lib” type=”dir”

property=”AnakiaTask.present”/

/target

target name=”prepare-error” depends=”prepare”

description=”Prints error message for prepare target.”

unless=”AnakiaTask.present”

echo

AnakiaTask is not present! Please check to make sure that

velocity.jar is in your classpath.

/echo

/target

!– lib target. Compiles the library classes only —

target name=”lib” depends=”prepare”

description=”Compiles the library classes only.”

javac srcdir=”${build.src}”

destdir=”${build.dest}”

excludes=”examples/**,tools/**”

debug=”${debug}”

deprecation=”${deprecation}”

optimize=”${optimize}”/

/target

!– examples target. Compiles the example classes. —

target name=”examples” depends=”prepare,lib”

description=”Compiles the example classes.”

javac srcdir=”${build.src}”

destdir=”${build.dest}”

includes=”examples/**”

debug=”${debug}”

deprecation=”${deprecation}”

optimize=”${optimize}”/

/target

!– tools target. Compiles the tool classes. —

target name=”tools” depends=”prepare,lib”

description=”Compiles the tool classes.”

javac srcdir=”${build.src}”

destdir=”${build.dest}”

includes=”tools/**”

debug=”${debug}”

deprecation=”${deprecation}”

optimize=”${optimize}”/

/target

!– tests target. Compiles and runs the unit tests. —

target name=”tests” depends=”prepare,lib”

description=”Compiles and runs the unit tests.”

javac srcdir=”${build.src}/tests”

destdir=”${build.tests}”

debug=”${debug}”

deprecation=”${deprecation}”

optimize=”${optimize}”/

/target

!– jar target. Compiles the source directory and creates a .jar file —

target name=”jar” depends=”lib” description=”Compiles the source directory and creates a .jar file.”

jar jarfile=”${top.dir}/${final.name}.jar”

basedir=”${build.dest}”

includes=”org/**,META-INF/**”

excludes=”**/package.html,**/overview.html”

manifest

section name=”org/apache/oro”

attribute name=”Specification-Title”

value=”Jakarta ORO” /

attribute name=”Specification-Version”

value=”${version}” /

attribute name=”Specification-Vendor”

value=”Apache Software Foundation” /

attribute name=”Implementation-Title”

value=”org.apache.oro” /

attribute name=”Implementation-Version”

value=”${version} ${DATE}” /

attribute name=”Implementation-Vendor”

value=”Apache Software Foundation” /

/section

/manifest

/jar

/target

!– javadocs target. Creates the API documentation —

target name=”javadocs” depends=”prepare”

description=”Creates the API documentation.”

mkdir dir=”${javadoc.destdir}”/

javadoc packagenames=”org.apache.oro.io,org.apache.oro.text,org.apache.oro.text.regex,org.apache.oro.text.awk,org.apache.oro.text.perl,org.apache.oro.util”

sourcepath=”${build.src}”

destdir=”${javadoc.destdir}”

overview=”${build.src}/org/apache/oro/overview.html”

author=”true”

version=”true”

windowtitle=”${name} ${version} API”

doctitle=”${name} ${version} API”

header=”a href=” target=_topimg src='{@docroot}/../images/logoSmall.gif’ alt=’Jakarta ORO’ width=48 height=47 align=center border=0 hspace=1 vspace=1/a”

bottom=”Copyright © ${year} Apache Software Foundation. All Rights Reserved.”

/javadoc

replace file=”${javadoc.destdir}/overview-frame.html”

token=”{@docroot}” value=”.”/

replace dir=”${javadoc.destdir}” includes=”**/*.html”

token=”@version@” value=”${version}”/

/target

!– docs target. Creates project web pages and documentation. —

target name=”docs” depends=”prepare-error,lib,examples”

description=”Creates the project web pages and documentation.”

if=”AnakiaTask.present”

taskdef name=”anakia” classname=”org.apache.velocity.anakia.AnakiaTask”

classpath

fileset dir=”${jakarta-site2.dir}/lib”

include name=”*.jar”/

/fileset

/classpath

/taskdef

anakia basedir=”${docs.src}” destdir=”${docs.dest}/”

extension=”.html” style=”./site.vsl”

projectFile=”stylesheets/project.xml”

excludes=”**/stylesheets/** manual/** empty.xml”

includes=”**/*.xml”

lastModifiedCheck=”true”

templatePath=”${jakarta-site2.dir}/xdocs/stylesheets”

/anakia

copy todir=”${docs.dest}/images” filtering=”no”

fileset dir=”${docs.src}/images”

include name=”**/*.gif”/

include name=”**/*.jpeg”/

include name=”**/*.jpg”/

/fileset

/copy

mkdir dir=”${docs.dest}/classes”/

mkdir dir=”${docs.dest}/classes/examples”/

copy todir=”${docs.dest}/classes/examples” filtering=”no”

fileset dir=”${build.dest}/examples”

include name=”MatcherDemoApplet.class”/

/fileset

/copy

mkdir dir=”${docs.dest}/classes/org”/

copy todir=”${docs.dest}/classes/org” filtering=”no”

fileset dir=”${build.dest}/org”

include name=”**/*.class”/

/fileset

/copy

/target

!– package target —

target name=”package” depends=”jar,javadocs,docs”

description=”Creates a distribution directory tree.”

mkdir dir=”${final.dir}”/

copy todir=”${final.dir}/src”

fileset dir=”${code.src}”/

/copy

!– BEGIN_REMOVE_THIS —

!– Remove this when there’s a first draft of the manual. —

copy todir=”${final.dir}/docs”

fileset dir=”${docs.dest}”

exclude name=”manual/**”/

/fileset

/copy

!– END_REMOVE_THIS —

copy file=”${top.dir}/build.xml” tofile=”${final.dir}/build.xml”/

copy file=”${top.dir}/build.properties”

tofile=”${final.dir}/build.properties”/

copy file=”${top.dir}/LICENSE” tofile=”${final.dir}/LICENSE”/

copy file=”${top.dir}/ISSUES” tofile=”${final.dir}/ISSUES”/

copy file=”${top.dir}/CHANGES” tofile=”${final.dir}/CHANGES”/

copy file=”${top.dir}/COMPILE” tofile=”${final.dir}/COMPILE”/

copy file=”${top.dir}/CONTRIBUTORS”

tofile=”${final.dir}/CONTRIBUTORS”/

copy file=”${top.dir}/README” tofile=”${final.dir}/README”/

copy file=”${top.dir}/STYLE” tofile=”${final.dir}/STYLE”/

copy file=”${top.dir}/TODO” tofile=”${final.dir}/TODO”/

copy file=”${top.dir}/${final.name}.jar” tofile=”${final.dir}/${final.name}.jar”/

/target

!– package-zip target. Packages the distribution with ZIP —

target name=”package-zip” depends=”package”

description=”Packages the distribution as a zip file.”

zip zipfile=”${top.dir}/${final.name}.zip” basedir=”${top.dir}/”

includes=”**/${final.name}/**” excludes=”**/.cvsignore”/

/target

!– Packages the distribution with TAR-GZIP —

target name=”package-tgz” depends=”package”

description=”Packages the distribution as a gzipped tar file.”

tar tarfile=”${top.dir}/${final.name}.tar”

basedir=”${top.dir}” excludes=”**/**”

tarfileset dir=”${final.dir}/..”

include name=”${final.name}/**”/

exclude name=”**/.cvsignore”/

/tarfileset

/tar

gzip zipfile=”${top.dir}/${project}-${version}.tar.gz” src=”${top.dir}/${project}-${version}.tar”/

/target

!– Packages the distribution with ZIP and TAG-GZIP —

target name=”package-all” depends=”package-zip, package-tgz”

/target

!– Makes an attempt to clean up a little. —

target name=”clean”

description=”Removes generated artifacts from source tree.”

delete dir=”${build.dest}”/

delete dir=”${javadoc.destdir}”/

delete dir=”${final.dir}”/

delete file=”${top.dir}/${final.name}.jar”/

delete file=”${top.dir}/${final.name}.tar”/

delete file=”${top.dir}/${final.name}.tar.gz”/

delete file=”${top.dir}/${final.name}.zip”/

delete

fileset dir=”${top.dir}” includes=”velocity.log*”/

/delete

/target

/project

build.xml文件的编写可参见ant发行版中的使用文档

你也可以自己编写脚本打包,使用jdk发行版中的jar命令,例如:

#jar cmf myManifestFile myFile.jar *.class

注意还需要自己编写MANIFEST.MF文件配置包属性。具体可以参见javadoc

当然还可以使用集成开发环境提供的打包工具,如JBuilder提供打包工具,但这样程序的移植性不强,建议不要使用,就使用ant比较好。

如何把java程序打包成exe

将java源码打包成exe的步骤如下:1、最简单直接的方法,选择想打包的程序,右键export;2、选择Java选项,再选择RunnableJARfile选项,点击next按钮;3、选择程序的主类,还有Main函数的类和输入要导出的位置,点击finish;4、在电脑上,设置好Jar文件的打开方式(别默认用解压缩的工具打开就行),双击即可运行。

Java项目写完后怎么怎么打包?

Java项目的打包成jar文件:

eclipse 中选择要发布的工程右键单击,选择export

然后在列表中选择jar(不一定马上看到,但是可以找到的)

确定后下一步,选择你要发布的类,反正你要用的到的类全部选择进去包括图片或者音乐(音乐和图片的引用方式有关系,另当别论),然后取个名称,选择路径

再下一步两次,然后选择main-class,就是你运行程序时运行的哪个类,选择后单击finish,jar文件应该打包成功了,双击可以直接运行。

如何将java代码打包成jar包

方法:

1、启动eclipse;

2、在eclipse中建立好工程与类并写好代码;

3、点击“File-Export”;

4、在弹击的界面中选择“Java-JAR file”,再点击“Next”;

5、选择要打包的文件,再点击“Browse”;

6、在弹出的界面中选择好打包后的文件的存放路径,再输入文件名,最后点击“保存”;

7、点击“Finish”;

8、打包成功。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-12 12:13
下一篇 2024-12-12 12:13

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论