JAVA程序怎样打包
发布时间:2025-05-24 17:54:53 发布人:远客网络
一、JAVA程序怎样打包
第一:普通类导出jar包,我说的普通类就是指此类包含main方法,并且没有用到别的jar包。
1.在eclipse中选择你要导出的类或者package,右击,选择Export子选项;
2.在弹出的对话框中,选择java文件---选择JAR file,单击next;
3.在JAR file后面的文本框中选择你要生成的jar包的位置以及名字,注意在Export generated class files and resources和Export java source files and resources前面打上勾,单击next;
4.单击两次next按钮,到达JAR Manifest Specification。注意在最底下的Main class后面的文本框中选择你的jar包的入口类。单击Finish,完成。
你可以在dos环境下,进入你的jar所在的目录,运行 java-jar名字.jar,检测运行是否正确。
第二、你所要导出的类里边用到了别的jar包。比如说你写的类连接了数据库,用到数据库驱动包oracl.jar.。
1.先把你要导出的类按照上面的步骤导出形成jar包,比如叫test.jar
2.新建一个文件夹main,比如在D盘根目录下;
3.把test.jar和oracl.jar拷贝到main文件下,右击test.jar,解压到当前文件夹。把META-INF\MANIFEST.MF剪切到另外一个地方(比如是桌面!);
4.右击oracl.jar,解压到当前文件夹。
5.在dos环境下,进入到D盘的main文件夹下,执行 jar cvfm new.jar meta-inf/manifest.mf.,不要忘了最后面的点。
6.用压缩工具打开你新生成的new.jar,用你放在桌面的META-INF\MANIFEST.MF覆盖new.jar原有。
你可以在dos环境下,进入你的jar所在的目录,运行 java-jar名字.jar,检测运行是否正确。
二、JAVA里面如何打包
通常有两种,一种是制作一个可执行的 JAR文件包,然后就可以像.chm文档一样双击运行了;而另一种是使用 JET来进行
编译。但是 JET是要用钱买的,而且据说 JET也不是能把所有的 Java程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR文件包的方法就是最佳选择了,何况它还能保持 Java的跨平台特性。
下面就来看看什么是 JAR文件包吧:
JAR文件就是 Java Archive File,顾名思意,它的应用是与 Java息息相关的,是 Java的一种文档格式。JAR文件非常类似 ZIP文件——准确的说,它就是 ZIP文件,所以叫它文件包。JAR文件与 ZIP文件唯一的区别就是在 JAR文件的内容中,包含了一个 META-INF/MANIFEST.MF文件,这个文件是在生成 JAR文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:
把它压缩成 ZIP文件 test.zip,则这个 ZIP文件的内部目录结构为:
如果我们使用 JDK的 jar命令把它打成 JAR文件包 test.jar,则这个 JAR文件的内部目录结构为:
制作一个可执行的 JAR文件包来发布你的程序是 JAR文件包最典型的用法。
Java程序是由若干个.class文件组成的。这些.class文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH环境变量或者 java命令的-cp参数;运行时还要到控制台下去使用 java命令来运行,如果需要直接双击运行必须写 Windows的批处理文件(.bat)或者 Linux的 Shell程序。因此,许多人说,Java是一种方便开发者苦了用户的程序设计语言。
其实不然,如果开发者能够制作一个可执行的 JAR文件包交给用户,那么用户使用起来就方便了。在 Windows下安装 JRE(Java Runtime Environment)的时候,安装文件会将.jar文件映射给 javaw.exe打开。那么,对于一个可执行的 JAR文件包,用户只需要双击它就可以运行程序了,和阅读.chm文档一样方便(.chm文档默认是由 hh.exe打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR文件包。
创建可执行的 JAR文件包,需要使用带 cvfm参数的 jar命令,同样以上述 test目录为例,命令如下:
jar cvfm test.jar manifest.mf test
这里 test.jar和 manifest.mf两个文件,分别是对应的参数 f和 m,其重头戏在 manifest.mf。因为要创建可执行的 JAR文件包,光靠指定一个 manifest.mf文件是不够的,因为 MANIFEST是 JAR文件包的特征,可执行的 JAR文件包和不可执行的 JAR文件包都包含 MANIFEST。关键在于可执行 JAR文件包的 MANIFEST,其内容包含了 Main-Class一项。这在 MANIFEST中书写格式如下:
Main-Class:可执行主类全名(包含包名)
例如,假设上例中的 Test.class是属于 test包的,而且是可执行的类(定义了 public static void main(String[])方法),那么这个 manifest.mf可以编辑如下:
Main-Class: test.Test<回车>
这个 manifest.mf可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test一行,且该行以一个回车符结束即可。创建了 manifest.mf文件之后,我们的目录结构变为:
这时候,需要到 test目录的上级目录中去使用 jar命令来创建 JAR文件包。也就是在目录树中使用“==”表示的那个目录中,使用如下命令:
jar cvfm test.jar manifest.mf test
之后在“==”目录中创建了 test.jar,这个 test.jar就是执行的 JAR文件包。运行时只需要使用 java-jar test.jar命令即可。
需要注意的是,创建的 JAR文件包中需要包含完整的、与 Java程序的包结构对应的目录结构,就像上例一样。而 Main-Class指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR文件包之前可以使用 java<类名>来运行这个类,即在上例中 java test.Test是可以正确运行的(当然要在 CLASSPATH正确的情况下)。
三、java打包是什么意思
1. Java打包是将程序编译后的源代码和相关资源打包压缩成一个jar或war包的过程。
2.这样做可以更加方便地传递和部署,便于其他用户或团队使用。
3.打包还能提高程序的稳定性,防止因某个文件被修改而导致整个程序无法正常运行。
4. Java打包的方法简单,通常只需在命令行中输入相应的命令即可完成。
5.使用Maven等项目管理工具时,可以通过配置文件将打包步骤自动化。
6.打包完成后,可以通过服务器部署或Linux命令来部署程序,提高效率。
7.在Java打包过程中,可能会遇到文件缺失、jar包重复等问题。
8.通常需要检查相关配置文件和路径是否正确,以及是否有重复引用的jar包。
9.可以使用各种打包工具来诊断和解决这些问题。
10.将Java打包设置成自动化流程,可以减少错误发生的可能性。