- 浏览: 1229258 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
一、 的全称:jar Java Archive File,java存档文件。这有点类似zip文件。 1. 命令用法:jar jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项: -c 创建新的存档 -t 列出存档内容的列表 -x 展开存档中的命名的(或所有的〕文件 -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:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有 文件存档到一个名为 'classes.jar' 的存档文件中: jar cvfm classes.jar mymanifest -C foo/ 。 2. 示例: 1) 我们只有一个HelloWorld,如下: public class HelloWorld{ public static void main(String[ ] args){ System.out.println(“Hi, Hello World!”); } } 将这个java文件存到C盘跟目录下,接下来,在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错 hello.jar 。 基本的步骤我们现在都知道了,你可以自己去尝试一下随着jar后面的参数的不同,结果有什么变化。 2) 紧接着我们看看如何运行我们的jar包。在进入正题之前,你要先打开我们刚刚做好的jar包看看,多了什么呢,META-INF目录?再看看里面是什么,还有一个MANIFEST.MF文件是不是?用文本编辑器(我这里是UltraEdit)打开它看看(注意文件未尾有两空行): Manifest-Version: 1.0 Created-By: 1.6.0 (Sun Microsystems Inc.) 这里我们对它进行修改,加一句:Main-Class: HelloWorld (在第三行,注意在Main-Class:和类之间要有一个空格,否则运行时说“Invalid or corrupt jarfile xxx.jar”)。这个就是我们之前写的那个类,也就是我们的入口类。也即:(文件未尾的两个空行不能少,否则运行时也说“Invalid or corrupt jarfile xxx.jar”) Manifest-Version: 1.0 Created-By: 1.6.0 (Sun Microsystems Inc.) Main-Class: HelloWorld 接下来,我们在命令提示符里执行: jar umf MANIFEST.MF hello.jar 这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新(其实也可用winrar之类的解压工具打开jar包,把新的MANIFEST.MF拖进去)。最后的一步,验证我们做的一切,在命令提示符中输入: java -jar hello.jar 出现了什么, Hi, Hello World! 二、关于MANIFET.MF文件: 打 Java 包的时候可以有一个清单文件:MANIFEST.MF,它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行 Java 应用程序时会根据此文件中给出的信息来查找入口类和支持库。 它的内容一般包括: Manifest-Version: 1.0 Created-By: 1.6.0 (Sun Microsystems Inc.) Main-Class: HelloWorld 其中比较容易忽略的是还可以有一个Class-Path属性的设置,Class-Path:用来指定支持库的路径,程序运行时依据 Class-Path 项的设置路径来查找支持库,每一个支持库之间用空格分开。比如这样写清单文件: Manifest-Version: 1.0 Class-Path: ./lib/msbase.jar ./lib/mssqlserver.jar ./lib/msutil.jar Created-By: 1.6.0 (Sun Microsystems Inc.) Main-Class: org.qiujy.test.TestDB 这样当前目录的 lib 目录下的几个包都可以在运行时被找到,我们制作可自运行的 Java 程序时,就不用写一个批处理文件来写明 CLASSPATH ,直接在这里指定就可以了。 示例: 1) 在D:\qiujyJarTest目录下写一个测试数据库连接的类: package org.qiujy.test; import java.sql.*; public class TestDB{ public static void main(String[] args){ String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=myblog"; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection conn = DriverManager.getConnection(url, "sa",""); System.out.println(conn); }catch(Exception e){ e.printStackTrace(); } } } 2) 用如下命令编译此文件: javac -d . TestDB.java 就会在当前目录生成带包结构的TestDB.class文件: 3) 在当前文件下创建一jar清单文件qiujyManifest.txt (文件名随便取):(注意每行的”:”后有一空格,文件未尾有两空行) Manifest-Version: 1.0 Class-Path: ./lib/msbase.jar ./lib/mssqlserver.jar ./lib/msutil.jar Main-Class: org.qiujy.test.TestDB 此时D:\qiujyJarTest目录的结构如下: 4) 用如下命令打jar包: jar -cmvf qiujyManifest.txt test.jar lib org 此命令的含义是:指定打包的清单文件为当前目录下的qiujyManifest.txt,打当前目录下的lib和org目录打到test.jar包中。此时在当前目录下就会生成一个test.jar包。 5) 测试打包是否成功: 启动sqlserver数据库。在命令行用如下命令:java -jar test.jar。如果出现如下信息说明我们打的包成功运行并成功连上数据库。 http://download1.csdn.net/down3/20070620/20101449378.rar 附本演示的程序源码: 三、jar文件在tomcat中的发布 注意:在tomcat中我们就不能再用jar这种格式,而改war格式,它是专门用于web应用的,其实整个过程下来基本上和jar是类似的: 1. 先准备我们要打包的资源。 找到存放tomcat的webapps目录,进到其中,新建一个文件夹,这里命名为hello,再进去新建WEB-INF文件夹,再进去新建classes文件夹,此时我们也将我们唯一的servlet,HelloWorld.java放到这里,在与classes目录同级下建立一文件web.xml。Ok,目前我们初步建立了一个简单的web应用。 这是HelloWorld.java: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println(""); out.println(""); out.println(""); out.println("Hello, World!"); out.println(""); out.close(); } } 2. 对它编译。下面是web.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>hello</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app> 3. 在命令提示符下进到先前创制的hello目录下,执行 jar cvf hello.war * ,我们便得到hello.war。将它拷贝至webapps目录下,ok,来看最后一步,打开tomcat的目录conf中的server.xml,加入: <Context path="/hello" docBase="hello.war" debug="0" reloadable="true"/> 本文来自CSDN博客,转载自:http://blog.csdn.net/qjyong/archive/2007/06/20/1658904.aspx
发表评论
-
JAVA短信发送及JAVA发送http请求与处理
2016-06-22 14:34 606JAVA发送HTTP请求与处理参考: http://ww ... -
Java Zip应用
2016-06-22 14:30 644应用系统中使用jdk原生 ... -
模拟tomcat进行http请求及响应处理:BufferedReader类的readLine在socket网络编程应用时发生阻塞
2016-05-11 15:04 1763最近写一个简单的程序模拟tomcat进行http请求及响应 ... -
Castor-xml映射出现节点重复问题解决
2015-08-13 16:24 1210最近在使用Castor-xml生成XML时发现生成的格式不 ... -
Add directory entries问题
2014-08-05 10:24 1898用spring注解的项目,eclipse可以运行,打成jar ... -
BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
2013-01-25 16:21 885http://www.cnblogs.com/fayf/ar ... -
java.net.BindException: Cannot assign requested address
2012-06-13 14:10 893转:http://wgkgood.blog.51cto ... -
Duplicate name in Manifest: Depends-On
2012-06-13 13:13 1645解决方法:http://ww2.sjc.edu/faculty ... -
java tree
2011-11-16 02:01 1293import java.util.ArrayList; im ... -
jacob操作word和excel
2011-07-28 17:00 906http://danadler.com/jacob/ -
获得PrepareStatement 的最终执行语句
2011-07-04 10:07 1017方法一:http://www.blogjava.net/ ... -
Non-terminating decimal expansion; no exact representable decimal result
2011-06-24 16:03 2613由于需要处理精度比较高的浮点数,所以弃用double类型,改用 ... -
JXLS应用示例
2011-06-03 01:41 3496JXLS在循环的记录前加序号: <jx:f ... -
月份加减方法处理
2011-06-03 00:52 921private static String monthAdd ... -
JAVA 5.0 后 自带监控工具 jps、jinfo、jstat、jma
2011-05-12 16:25 1242最近有个客户要进行WebLogic性能调优,但因为他们没有性能 ... -
定时器的实现、java定时器介绍与Spring中定时器的配置
2011-04-28 15:05 25431定时器的作用 在实际的开发中,如果项目中需要定时执行或者需 ... -
ClientAbortException,Connection reset by peer: socket write error
2011-03-07 11:24 6104extremetable导出excel,弹出一个下载窗口,这 ... -
java 调ireport (javaBean数据源)保存服务器 生成word
2011-02-24 14:40 1562package com.ztesoft.bidding.con ... -
JAVA包生成EXE应用实例
2011-01-06 15:35 1036相关文章:http://blog.csdn.net/fresh ... -
RMI客户端调用远程服务器方法-远程方法调用
2010-12-27 16:45 2752RMI软件下载:http://www.genady.net/r ...
相关推荐
本人经历三天制作出炉的jar打包工具,请大家下载试用。
为了方便用户,开发者有时会将`.jar`文件打包成`.exe`(Windows可执行文件),使得用户只需双击即可运行程序,无需关心是否安装了Java环境。 打包Java应用到`.exe`文件的过程主要涉及到以下知识点: 1. **Java可...
Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解
在Java开发过程中,将项目打包成可执行的JAR(Java Archive)文件是常见的操作,这使得代码可以方便地分发、部署和运行。本文将详细介绍如何将Java工程打包成可执行的JAR文件。 首先,确保你有一个完整的Java工程,...
### Java Jar 打包详解 #### 一、引言 在深入探讨Java打包技术之前,我们需要先理解何为`jar`文件。`jar`(Java Archive)文件是一种用于存储多个类文件、相关元数据和资源文件(如图像或文档)的标准格式。这种...
Java开发过程中,打包工具起着至关重要的作用,它们帮助开发者将源代码编译、整合资源并打包成可执行的JAR文件。其中,"jarjar"是一个非常实用的工具,专为Java程序员设计,用于方便地对JAR文件进行操作,如重命名类...
#### 二、将jar打包成exe 为了使Java程序能够在没有安装JDK或JRE的环境下运行,我们可以将jar文件进一步打包成exe文件。这一步通常需要借助于专门的工具。 ##### 2.1 使用j2exe4j - **安装j2exe4j**:j2exe4j是一...
1. **使用Eclipse插件fat.jar打包** `fat.jar`插件允许开发者将所有依赖的第三方库一起打包进JAR,生成的JAR文件包含了一个完整的运行环境。这种方法的优点是方便,因为用户无需额外管理依赖。然而,它的主要缺点...
NULL 博文链接:https://jarg.iteye.com/blog/852885
这里我们将深入探讨JAVA的打包机制,主要关注jar、tar和zip这三种常见的打包格式,以及如何处理它们的源码。 首先,`jar`文件是Java档案文件,它是Java平台特有的打包方式,用于收集多个类文件、相关的元数据和资源...
### Java 打包成 JAR 文件的详细指南 在Java开发过程中,将项目打包成一个JAR(Java Archive)文件是非常常见的做法。JAR文件不仅可以方便地进行分发与部署,还能有效地组织类文件和资源文件。根据提供的信息,本文...
Java程序打包为Jar文件在Eclipse中的实现 Java程序员在开发过程中经常会遇到这样一个问题:如何将编写好的Java程序打包成一个可执行的Jar文件?在Eclipse中,我们可以通过简单的步骤将Java程序打包成Jar文件,本文...
在Java开发过程中,将程序打包成可执行的jar或exe文件是常见的需求。这使得用户无需安装Java环境即可运行程序,提高了软件的便利性和普及性。以下是对标题、描述及标签涉及的知识点的详细说明: 1. **Java程序打包...
在Java编程中,将程序打包成JAR文件是常见的部署方式,这使得代码可以作为一个独立的可执行单元进行分发。然而,在打包包含数据库连接的Java应用程序时,可能会遇到一些问题,尤其是涉及到像MySQL这样的外部数据库。...
Java打包JAR(Java Archive)文件是将多个类文件、资源文件和其他相关文件组合到一个单一的可执行文件中,以便于分发和执行。在Java开发中,JAR文件通常用于封装库、应用程序或者Java小应用程序(Applet)。本实例将...
Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总 本文档将详细介绍 Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总。Java 是一种流行的编程语言,广泛应用于软件开发、Android 应用开发...
标题"java jar打包成exe"指的是这个过程:将Java程序打包成一个可以直接在Windows环境下运行的`.exe`文件。这样做的好处是提高了用户的便利性,因为他们无需知道或安装Java环境,只需双击`.exe`文件即可运行程序。 ...
### Java 文件打包成 JAR 文件详解 #### 一、JAR 命令概述 JAR(Java Archive)是 Java 开发工具包 (JDK) 中的一个实用程序,用于将多个 Java 类文件和其他资源文件打包成一个 JAR 文件。JAR 文件不仅便于分发和...
### Java 文件打包成 .jar 文件及 jar 命令详解 #### 一、jar 命令概述 在 Java 开发中,经常会遇到需要将多个类文件或者资源文件打包成一个单独的 `.jar` 文件的需求。`.jar` 文件类似于 `.zip` 文件,是一种将多...
Java打包机是一款便捷的工具,专门用于将Java的.jar文件转换为可执行的.exe文件,使得非Java环境的用户也能方便地运行Java程序。这款工具相比exe4j来说,操作更为简便,对于开发者来说,是一个快速发布Java应用程序...