命令行下编译java并生成jar包(1)

上传人:新** 文档编号:567935526 上传时间:2024-07-22 格式:PDF 页数:5 大小:225KB
返回 下载 相关 举报
命令行下编译java并生成jar包(1)_第1页
第1页 / 共5页
命令行下编译java并生成jar包(1)_第2页
第2页 / 共5页
命令行下编译java并生成jar包(1)_第3页
第3页 / 共5页
命令行下编译java并生成jar包(1)_第4页
第4页 / 共5页
命令行下编译java并生成jar包(1)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《命令行下编译java并生成jar包(1)》由会员分享,可在线阅读,更多相关《命令行下编译java并生成jar包(1)(5页珍藏版)》请在金锄头文库上搜索。

1、命令行下编译 java 并生成 jar 包jar 文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。为什么会有这个玩意呢, 首先,这是 jar 的全称: JavaTM Archive (JAR) file,是的,就是 java存档文件。这有点类似 zip 文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。那我们的输入(要压缩的东西)主要是 class 文件,还有辅助的资源(这其中可能有

2、图片,jsp 文件,html 文件等等)。Jar 技术在 jdk1.1 版本中就已存在,在1.2 中又有了增强。接下来说说jar 的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。说了这么多,我们现在开始实施。先打开命令提示符(win2000 或在运行筐里执行 cmd 命令,win98 为 DOS 提示符),输入 jarhelp,然后回车(如果你盘上已经有了jdk1.1 或以上版本),看到什么:用法:jar ctxuvfm0Mi jar-文件 manifest-文件 -C 目录 文件名 选项:-c 创建新的存档-t 列出存档内容的列表-x 展开存档中的命名的或所有的文件-

3、u 更新已存在的存档-v 生成详细输出到标准输出上-f 指定存档文件名-m 包含来自标明文件的标明信息-0 只存储方式;未用 ZIP 压缩格式-M 不产生所有项的清单manifest文件-i 为指定的 jar 文件产生索引信息-C 改变到指定的目录,并且包含以下文件:如果一个文件名是一个目录,它将被递归处理。清单manifest文件名和存档文件名都需要被指定,按m 和 f标志指定的相同顺序。例如 1:将两个 class 文件存档到一个名为 classes.jar 的存档文件中:jar cvf classes.jar Foo.class Bar.class例如 2:用一个存在的清单manifes

4、t文件 mymanifest 将 foo/ 目录下的所有文件存档到一个名为 classes.jar 的存档文件中:jar cvfm classes.jar mymanifest -C foo/ .来个小例子试试看:我们只有一个 HelloWorld,如下:public class HelloWorldpublic static void main(String args)System.out.println(“Hi, Hello World!”);我将这个 java 文件存到 C 盘跟目录下,ok,接下来,在先前打开的命令提示符下(跳转到 C 盘提示符下),我们输入 javac HelloWo

5、rld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的 C 盘看看,多了什么,没错hello.jar 。基本的步骤我们现在都知道了,你可以自己去尝试一下随着jar 后面的参数的不同,结果有什么变化。紧接着我们看看如何运行我们的jar 包。在进入正题之前,你要先打开我们刚刚做好的 jar 包看看,多了什么呢,META-INF目录?再看看里面是什么,还有一个MANIFEST.MF 文件是不是?用文本编辑器(我这里是UltraEdit)打开它看看:Manifest-Version: 1.0Created-By: 1.4.2 (Sun Mic

6、rosystems Inc.)就是这样。这里我们对它进行修改,加一句: Main-Class: HelloWorld (在第三行)。这个就是我们之前写的那个类,也就是我们的入口类。也即,Manifest-Version: 1.0Created-By: 1.4.2 (Sun Microsystems Inc.)Main-Class: HelloWorld接下来,我们在命令提示符里执行:jar umf MANIFEST.MF app.jar这样我们使用了我们自己的 MANIFEST.MF 文件对原来默认的进行了更新。你不妨可以再进去看看是不是添上了 Main-Class: HelloWorld这一

7、句。Ok,这个最后的一步了,来验证我们做的一切,在命令提示符中输入:java -jar hello.jar(执行)出现了什么,Hi, Hello World!我们再来看看 jar 文件在 tomcat 中发布,注意:在 tomcat 中我们就不能再用 jar 这种格式,而改 war 格式,它是专门用于 web 应用的,其实整个过程下来基本上和jar 是类似的:先准备我们要打包的资源。找到存放 tomcat 的 webapps 目录,进到其中,新建一个文件夹,这里命名为hello,再进去新建 WEB-INF 文件夹,再进去新建 classes 文件夹,此时我们也将我们唯一的 servlet,He

8、lloWorld.java放到这里,在与classes 目录同级下建立一文件web.xml。 Ok,目前我们初步建立了一个简单的 web 应用。这是 HelloWorld.java:import java.io.*;import javax.servlet.*;import javax.servlet.*;public class HelloWorld extendsServlet public void doGet(ServletRequest req,ServletResponse res)throws ServletException, IOException res.setConten

9、tType(”text/html”);PrintWriter out = res.getWriter();out.println(”);out.println(”Hello, World!”);out.println(”);out.println(”Hello, World!”);out.println(”);/end here!对它编译。下面是 web.xml:helloHelloWorldhello/HelloWorld开始压缩,形成 war 档:在命令提示符下进到先前创制的hello 目录下,执行 jar cvf hello.war * ,我们便得到hello.war。将它拷贝至 web

10、apps 目录下,ok,来看最后一步,打开 tomcat 的目录 conf 中的server.xml,加入:大功告成!运行它,启动tomcat,后在浏览器中输入:/localhost:8080/hello/HelloWorld,有了吗?最后,如果你想用 ant 来完成以上的打包活动,下面就告诉你:对于 jar 来说。在 build.xml 中,对于 war,学习文档 仅供参考好了,就这么多,希望对你有点帮助。 : 我上传了上面打过的两个包,hello.jar 和 hello.war。 点击下载 点击下载 第一 rar 文件对应的是 hello.jar,下载后将其名改为 hello.jar第二

11、rar 文件对应 hello.war,下载后改为 hello.war。这是由于上传不了 jar 格式和 war 格式的文件,你只好照我上面说的去做了 : 补充:#jar 基本操作:#1. 创建 jar 文件jar cf jar-file input-file(s)cwant to Create a JAR file.fwant the output to go to a file rather than to stdout.eg: 1)jar cf myjar.jar query_maintain_insert.htm2)jar cvf myjar.jar query_maintain_ins

12、ert.htmvProduces verbose(详细的) output.3)jar cvf myjar.jar query_maintain_insert.htm mydirectory4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory0dont want the JAR file to be compressed.5)jar cmf MANIFEST.MF myjar.jar yahh.txtmUsed to include manifest information from an existing manifest fil

13、e.6)jar cMf MANIFEST.MF myjar.jar yahh.txtMthe default manifest file should not be produced.7)jar cvf myjar.jar *create all contents in current directory.2. 观察 jar 文件jar tf jar-filetwant to view the Table of contents of the JAR file.eg: 1)jar vft yahh.jarvProduces verbose(详细的) output.3. 提取 jar 文件jar

14、 xf jar-file archived-file(s)xwant to extract files from the JAR archive.eg: 1)jar xf yahh.jar yahh.txt(仅提取文件 yahh.txt)2)jar xf yahh.jar alex/yahhalex.txt(仅提取目录 alex 下的文件 yahhalex.txt)3)jar xf yahh.jar(提取该 jar 包中的所有文件或目录)4. 修改 Manifest 文件jar cmf manifest-addition jar-file input-file(s)mUsed to include manifest information from an existing manifest file.5. 更新 jar 文件jar uf jar-file input-file(s)uwant to update an existing JAR file.学习文档 仅供参考

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号