当前位置:文档之家› jar命令

jar命令

简化Java应用程序的打包和发布

发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程

该文章提供了打包Java code的几种方法,我们将会探讨Java manifest 文件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合适方法.我也会解释如何使用manifest包版本特性来确认包的兼容性...

什么是JAR文件?

在开发过程中,我们可以直接使用Java class文件来运行程序,但这并不是一个好方式,好在Java 提供了 JAR(Java Archive)文件来提供发布和运行。

jar 文件实际上是class 文件的ZIP压缩存档,这种格式被广泛使用,因此易与使用,有很多中工具可以操作这种格式的文件。也正是因为这个原因,jar文件本身并不能表达所包含应用程序的标签信息。

Manifest 因此得以出现

为了要提供存档的标签信息,jar 文件指定了一个特定目录来存放标签信息:META-INF 目录,其中我们来关注该目录中的MANIFEST.MF文件,他就是JAR的manifest文件,他包含了JAR文件的内容描述,并在运行时向JVM提供应用程序的信息,大多数JAR文件含有一个默认生成的manifest 文件,执行JAR命令或使用zip工具,都可以产生它

如果是由jar命令产生的 manifest 文件,形如:

Manifest-Version: 1.0

Created-By:1.4.0-beta

(Sun Microsystems Inc.)

这些信息没甚么用,仅仅告诉我们使用的是1.0的manifest文件,第一行定义manifest 的格式,第二行说明使用 SUN 的JDK1.4的jar工具生成该文件,如果manifest文件是由其他(如ant)创建的,那将会出现“Created-By: Ant 1.2”之类的内容,如果你是自己创建manifest文件,你可以加入自己的一些相关信息.

基础格式

manifest 文件的格式是很简单的,每一行都是名-值对应的:属性名开头,接着是":" ,然后是属性值,每行最多72个字符,如果需要增加,你可以在下一行续行,续行以空格开头,以空格开头的行都会被视为前一行的续行。

所有在开头的属性都是全局的,你也可以定义特定class 或package的属性,稍后将介绍这种

把manifest文件插入JAR文件

使用 m 选项,把指定文件名的manifest文件传入,例如

jar cvfm myapplication.jar myapplication.mf -C classdir

如果你使用ant来创建时,在ant 的build.xml 加入如下条目

manifest="myapplication.mf">

includes="**/*.class"/>

运行Java程序

现在我们来体验一下manifest文件的作用,如果现在我们有一个Java 应用程序打包在myapplication.jar中, main class为 com.example.myapp.MyAppMain ,那么我们可以用以下的命令来运行

java -classpath myapplication.jar com.example.myapp.MyAppMain

这显然太麻烦了,现在我们来创建自己的manifest文件,如下:

Manifest-Version: 1.0

Created-By: JDJ example

Main-Class: com.example.myapp.MyAppMain

这样我们就可以使用如下的命令来运行程序了:(明显简单多了,也不会造成无谓的拼写错误)

java -jar myapplication.jar

管理JAR的依赖资源

很少Java应用会仅仅只有一个jar文件,一般还需要其他类库。比如我的应用程序用到了Sun 的 Javamail classes ,在classpath中我需要包含activation.jar 和 mail.jar,这样在运行程序时,相比上面的例子,我们要增加一些:

java -classpath mail.jar:activation.jar -jar myapplication.jar

在不同的操作系统中,jar包间的分隔符也不一样,在UNIX用“:”,在window中使用“;”,这样也不方便

同样,我们改写我们的manifest文件,如下

Manifest-Version: 1.0

Created-By: JDJ example

Main-Class: com.example.myapp.MyAppMain

Class-Path: mail.jar activation.jar

(加入了Class-Path: mail.jar activation.jar,用空格分隔两个jar包)

这样我们仍然可以使用和上例中相同的命令来执行该程序:

java -jar myapplication.jar

Class-Path属性中包含了用空格分隔的jar文件,在这些jar文件名中要对特定的字符使用逃逸符,比如空格,要表示成"%20",在路径的表示中,都采用“/”来分隔目录,无论是在什么操作系统中,(即使在window中),而且这里用的是相对路径(相对于本身的JAR 文件):

Manifest-Version: 1.0

Created-By: JDJ example

Main-Class: com.example.myapp.MyAppMain

Class-Path: ext/mail.jar ext/activation.jar

Multiple Main Classes(多主类)

还有一种Multiple Main Classes情况,如果你的应用程序可能有命令行版本和GUI 版本,或者一些不同的应用却共享很多相同的代码,这时你可能有多个Main Class,我们建议你采取这样的策略:把共享的类打成lib包,然后把不同的应用打成不同的包,分别标志主类:如下

Manifest for myapplicationlib.jar:

Manifest-Version: 1.0

Created-By: JDJ example

Class-Path: mail.jar activation.jar

Manifest for myappconsole.jar:

Manifest-Version: 1.0

Created-By: JDJ example

Class-Path: myapplicationlib.jar

Main-Class: com.example.myapp.MyAppMain

Manifest for myappadmin.jar:

Manifest-Version: 1.0

Created-By: JDJ example

Class-Path: myapplicationlib.jar

Main-Class: com.example.myapp.MyAdminTool

在myappconsole.jar 和 myappadmin.jar的manifest文件中分别注明各自的 Main Class

Package Versioning

完成发布后,如果使用者想了解,哪些代码是谁的?目前是什么版本?使用什么版本的类库?解决的方法很多,manifest提供了一个较好的方法,你可以在manifest文件中描述每一个包的信息。

Java 秉承了实现说明与描述分离的原则,package 的描述定义了package 是什么,实现说明定义了谁提供了描述的实现,描述和实现包含名、版本号和提供者。要得到这些信息,可以查看JVM的系统属性(使用 https://www.doczj.com/doc/8012823032.html,ng.System.getProperty() )

在manifest文件中,我可以为每个package定义描述和实现版本,声明名字,并加入描述属性和实现属性,这些属性是

Specification-Title

Specification-Version

Specification-Vendor

Implementation-Title

Implementation-Version

Implementation-Vendor

当要提供一个类库或编程接口时,描述信息显得是很重要,见以下范例:

Manifest-Version: 1.0

Created-By: JDJ example

Class-Path: mail.jar activation.jar

Name: com/example/myapp/

Specification-Title: MyApp

Specification-Version: 2.4

Specification-Vendor: https://www.doczj.com/doc/8012823032.html,

Implementation-Title: com.example.myapp

Implementation-Version: 2002-03-05-A

Implementation-Vendor: https://www.doczj.com/doc/8012823032.html,

Package Version 查询

在manifest文件中加入package描述后,就可以使用Java提供的https://www.doczj.com/doc/8012823032.html,ng.Package class进行Package 的信息查询,这里列举3个最基本的获取package object的方法

1.Package.getPackages():返回系统中所有定义的package列表

2.Package.getPackage(String packagename):按名返回package

3.Class.getPackage():返回给定class所在的package

使用者这方法就可以动态的获取package信息.

需要注意的是如果给定的package中没有class被加载,则也无法获得package 对象

Manifest 技巧

总是以Manifest-Version属性开头

每行最长72个字符,如果超过的化,采用续行

确认每行都以回车结束,否则改行将会被忽略

如果Class-Path 中的存在路径,使用"/"分隔目录,与平台无关

使用空行分隔主属性和package属性

使用"/"而不是"."来分隔package 和class ,比如 com/example/myapp/ class 要以.class结尾,package 要以 / 结尾

常用的网络工具命令解析

如果你玩过路由器的话,就知道路由器里面那些很好玩的命令缩写。 例如,"sh int" 的意思是"show interface"。 现在Windows 2000 也有了类似界面的工具,叫做netsh。 我们在Windows 2000 的cmd shell 下,输入netsh 就出来:netsh> 提示符, 输入int ip 就显示: interface ip> 然后输入dump ,我们就可以看到当前系统的网络配置: # ---------------------------------- # Interface IP Configuration # ---------------------------------- pushd interface ip # Interface IP Configuration for "Local Area Connection" set address name = "Local Area Connection" source = static addr = 192.168.1.168 mask = 255.255.255.0 add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0 set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1 set dns name = "Local Area Connection" source = static addr = 202.96.209.5 set wins name = "Local Area Connection" source = static addr = none

java 压缩命令jar

java 压缩命令jar jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,设计jar的主要目的是便于将java Applet或应用程序打包成单个归档文件。 将Java Applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,可以通过浏览器等进行下载,这大大缩短了下载时间。jar还能压缩文件,从而进一步提高了下载速度。 jar [命令选项] [manifest] destination input-file [input-files] 其命令选项的详细参数如下: ● c 在标准输出上创建新归档或空归档。 ●t 在标准输出上列出内容表。 ●x[file] 从标准输入提取所有文件,或只提取指定的文件。如果省略了file,则提取所 有文件;否则只提取指定文件。 ● f 第二个参数指定要处理的jar文件。在c(创建)情形中,第二个参数指的是要创建 的jar文件的名称(不是在标准输出上)。在t或x(表或抽取)这两种情形中,x指定 要列出或抽取的jar文件。 ●v 在标准错误输出设备上生成长格式的输出结果。 ●m 包括指定的现有清单文件中的清单信息,如“jar cmf myManifestFile myJarFile *.class”。 ●O 只储存,不进行ZIP压缩。 ●M 不创建项目的清单文件。 ●u 通过添加文件或更改清单来更新现有的JAR文件,如“jar -uf foo.jar foo.class”将 文件foo.class添加到现有的JAR文件foo.jar中;而“jar umf manifest foo.jar”则用manifest 中的信息更新foo.jar的清单。 ● C 在执行jar命令期间更改目录,如“jar -uf foo.jar -C classes *”将classes目录内的 所有文件加到foo.jar中,但不添加类目录本身。 通过上述内容,使用jar命令可以非常方便的,将一些Java文件合并或者压缩成jar文件。例如,将“F:\workspace”文件夹中,所有.class文件打包成JAR文件。 首先,输入两次“cd..”命令,并按【回车】键,退到C盘根目录。再输入“cd workspace”命令,按【回车】键,进行workspace文件夹,如图1-18所示。 然后,在命令提示符下,输入“jar cf file.jar *.class”命令,并按【回车】键,将class文件合并成file.jar文件,如图1-19所示。

如何将写好的java项目生成可执行的.exe运行程序

Java桌面程序打包成exe可执行文件 前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。其实将java程序打包成exe也需要这个可执行jar文件。 准备: 用jsmooth-setup-0.9.7.exe 或者exe4j(网上有软件和帐号下载) 账号:A-XVKN25601F-1wsau6x1ycpdzz 通用账号:L-g782dn2d-1f1yqxx1rv1sqd 第一步,将java项目打包成可执行jar文件,首先看一下我的java project结构,Main.java 是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库,这里没有用到lib中的类库,这里为了方便所需,就跟大家提下。 package com.king; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class ButtonEvent extends JFrame implements ActionListener{//实现监听接口 private static final long serialVersionUID = 1L; JButton button; public ButtonEvent(){ super("Button example"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

用netsh命令配置DHCP服务

命令行方式安装DHCP服务器 一台windows 2000/03 server,单机环境,安装了dhcp服务,让我们用命令行的方式来配置一台DHCP_blank空白>服务器吧! 1、首先进入命令行dhcp配置模式 F:\>netsh netsh>dhcp dhcp>server 192.168.0.1;(192.168.0.1)是你需要管理的DHCP服务器的地址dhcp server> 2、dhcp server>show scope 作用域总的数目: 0 命令成功完成。 察看目标上作用域配置的情况,此时是没有scope的 3、添加一个scope dhcp server>add scope 192.168.0.0 255.255.255.0 192.168.0.0 MyComment 4、dhcp server>scope 192.168.0.1 将当前作用域上下文改变到 192.168.0.1 作用域。 5、dhcp server scope>add iprange 192.168.0.2 192.168.0.254 DHCP 添加一个分配地址范围 6、dhcp server scope>add excluderange 192.168.0.1 192.168.0.1

dhcp server scope>add excluderange 192.168.0.241 192.168.0.254 添加两个排除范围192.168.0.1,192.168.0.241-192.168.0.254 7、dhcp server scope>add reservedip 192.168.0.240 08002b30369B Mr.Wu Mr.wu both 添加一个保留ip,给了MAC 08002b30369B ,保留的名字称为Mr.Wu 8、dhcp server scope>set optionvalue 003 ipaddress 192.168.0.1 dhcp server scope>set optionvalue 006 ipaddress 192.168.0.1 在这个scope中添加两个作用域选项003路由器和006 DNS服务器 9、dhcp server scope>set reservedoptionvalue 192.168.0.240 003 ipaddress 192.168.0.1 设置保留地址192.168.0.240的作用域选项003 现在scope 192.168.0.0配置结束了,你也可以配置别的选择的项目,看你的需要了 此时在mmc中把scope 192.168.0.0刷新一下,一切都正常了 10、同样方法配置两个scope 192.168.1.0和192.168.2.0 11、配置superscope F:\>netsh netsh>dhcp dhcp>server 192.168.0.1 dhcp server>scopt 192.168.0.0 dhcp server scope>set superscope 192.168.0-192.168.2 1 F:\>netsh netsh>dhcp

dos下修改IP地址的方法 netsh命令

强大的netsh网络配置命令,可以很方便的用DOS批处理命令来配置本机ip,简单介绍如下: 方法1(简单易操作)、 1、通过netsh -c interface ip dump >c:\ip.txt的方式可以导出本机配置脚本(用来获得各网卡的配置信息,获得初始的配置模板); 2、然后修改配置脚本里的IP修改为需要的IP配置;(可分别留若干个配置文件) 3、然后再netsh -f c:\ip.txt的方式又可以把导出的配置脚本再导回去,实现快速切换IP的目的 方法2(需要了解命令格式)、 示例1将“本地连接”的ip换成192.168.0.107 Netsh int ip set address name="本地连接" source=static addr=192.168.0.107 mask=255.255.255.0 set address name="本地连接" gateway=192.168.0.1 gwmetric=1 解释下 以上设置的addr是IP地址,mask是子网掩码,gateway是网关,gwmetric是默认网关的跃点数 以上实例1命令可以简化成一行dos命令 netsh interface ip set address "本地连接" static 192.168.0.107 255.255.255.0 192.168.0.1 1 示例2 将“本地连接”设为自动获取IP及自动获取DNS Netsh int ip set address name="本地连接" source=dhcp set dns name="本地连接" source=dhcp 以上命令可以简化成两行DOS命令 netsh interface ip set address name="本地连接" source=dhcp netsh interface ip set dns name="本地连接" source=dhcp 示例3 其他例子 Netsh int ip set dns "本地连接" static 192.168.0.1 primary //设置首选DNS为192.168.0.1 set dns "本地连接" static none //清除DNS列表 更多介绍参见下文:

linux安装jar命令

linux安装jar命令 linux系统下jar是随着jdk安装的,所以安装jar其实很容易。下面由小编为大家整理了linux下安装jar命令的相关知识,希望大家喜欢! linux下安装jar命令 jar是随着jdk的安装的。在jdk安装的目录下有bin目录中,windows下的文件名为jar.exe,linux下文件名为jar.它的运行需要用到jdk安装目录下lib目录中的tools.jar. jar文件在linux下的安装命令 首先安装java 的jdk..并设置java environment. then the order is: [root@localhoat root]# java -jar /the directory and file name, include .jar 附:linux下jar命令用法详解 jar的用法: jar{ctxu}[vfm0M][jar-文件][manifest-文件][-c 目录] 文件名。。。 {ctxu}是jar命令的子命令,每次jar命令中只可以包含一个ctxu 中的一个,分别表示: -c 创建新的jar文件包--常用于打包 -t 列出jar文件包的内容列表 -x 展开jar文件包的指定文件或者所有文件--常用于解

开包 -u 更新已经存在的jar文件包 [vmf0M]中可以选,也可以不选,是jar命令的选项参数: -v 生成详细报告并打印到标准输出 -f 指定jar文件名,这个参数是必须的 -m 指定需要包含的manfest清单文件 -0 只存储不压缩,速度快 -M 不生成所有的清单文件 经常组合使用cv0Mf/xvMf 补充:linux下运行jar包命令 java -jar xxxx.jar Linux平台通过以下命令执行jar文件。# java -jar file.jar linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar 文件创建可执行的JAR 文件包详解:JAR 文件就是... linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar 文件创建可执行的JAR 文件包详解:JAR 文件就是... java -jar test.jar 在linux命令行下对jar进行解压缩操作,比如有个jar包

netsh命令改IP和重置winsock

netsh命令改IP和重置winsock C:\>;netsh netsh>;? 下列指令有效: 此上下文中的命令: .. - 移到上一层上下文级。 ? - 显示命令列表。 aaaa - 更改到 `aaaa' 上下文。 abort - 丢弃在脱机模式下所做的更改。 add - 将一个配置项添加到项目列表中。 alias - 添加一个别名 bye - 退出程序。 commit - 提交在脱机模式中所做的更改。 delete - 在项目列表上删除一个配置项目。 dhcp - 更改到 `dhcp' 上下文。 dump - 显示一个配置脚本。 exec - 运行一个脚本文件。 exit - 退出程序。 help - 显示命令列表。 interface - 更改到 `interface' 上下文。 offline - 将当前模式设置成脱机。 online - 将当前模式设置成联机。 popd - 从堆栈上打开一个上下文。 pushd - 将当前上下文放推入堆栈。 quit - 退出程序。 ras - 更改到 `ras' 上下文。 routing - 更改到 `routing' 上下文。 set - 更新配置设置。 show - 显示信息 unalias - 删除一个别名。 wins - 更改到 `wins' 上下文。 下列的子上下文可用: routing interface ras dhcp wins aaaa 若需要命令的更多帮助信息,请键入命令, 后面跟 ?。

快速切换IP地址有绝招 zz 在工作过程中会遇到在不同的网段中进行网络调试的情况,经常需要将机器在几个不同的IP地址中 进行切换。在Win2000操作系统中改变IP地址较之Win98已经方便多了因为改完IP地址后不需要重启计 算机,但还要进入网络属性设置中进行操作。有没有再简便一点的方法呢,比如用鼠标双击一下快捷方 式就可以实现IP地址的切换? 答案是肯定的。在Win2000中用netsh命令就可以实现这个功能。首先进入命令行模式(在“开始→ 运行”中键入“cmd”即可进入命令行模式),在提示符下键入netsh即可进入netsh的界面。再键入 int ip进入接口IP的配置模式,键入dump则列出接口IP配置信息: C:\Documents and Settings\Administrator>;netsh netsh>; netsh>;int ip interface ip>;dump # ---------------------------------- # 接口 IP 配置 # ---------------------------------- pushd interface ip # ″本地连接″ 的接口IP 配置(注:以下显示视具体机器情况而定)netsh命令重置winsock——XP下可以,2K下未知:) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\>netsh winsock reset Sucessfully reset the Winsock Catalog. You must restart the machine in order to complete the reset.

jar使用方法

jar使用方法 jxl.jar是通过java操作excel表格的工具类库。下面是为您带来的jar使用方法,希望对大家有所帮助。 jar 使用方法: (1)创建jar包 ?1jar cf hello.jar hello 利用test目录生成hello.jar包,如hello.jar存在,则覆盖 (2)创建并显示打包过程 ?1jar cvf hello.jar hello 利用hello目录创建hello.jar包,并显示创建过程 例: ?1E:\>jar cvf hello.jar hello 标明清单(manifest) 增加:hello/(读入= 0) (写出= 0)(存储了0%) 增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了45%) 增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了45%) 增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了45%)

(3)显示jar包: jar tvf hello.jar 查看hello.jar包的内容 指定的jar包必须真实存在,否则会发生FileNoutFoundException。 (4)解压jar包: ?1jar xvf hello.jar 解压hello.jar至当前目录 (5)jar中添加文件: ?1jar uf hello.jar HelloWorld.java 将HelloWorld.java添加到hello.jar包中 (6)创建不压缩内容jar包: ?1jar cvf0 hello.jar *.class 利用当前目录中所有的.class文件生成一个不压缩jar包 (7)创建带manifest.mf文件的jar包: ?1jar cvfm hello.jar manifest.mf hello 创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到. (8)忽略manifest.mf文件: ?1jar cvfM hello.jar hello 生成的jar包中不包括META-INF目录及manifest.mf文件 (9)加-C应用: ?1jar cvfm hello.jar mymanifest.mf -C hello/

黑客常用CMD命令大全

黑客常用CMD命令大全 net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai /add 把他加入Administrator组 net start telnet 开对方的TELNET服务 net use z:\127.0.0.1c$ 映射对方的C盘 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名密码/add 建立用户 net user 查看有哪些用户 net user 帐户名查看帐户的属性 net user guest /active:yes 将Guest用户激活 net user guest lovechina 把guest的密码改为lovechina net user 用户名/delete 删掉用户 net user guest/time:m-f,08:00-17:00 表示guest用户登录时间为周一至周五的net user guest/time:m,4am-5pm;t,1pm-3pm;w-f,8:00-17:00 表示guest用户登录时间为周一4:00/17:00,周二13:00/15:00,周三至周五8:00/17:00. net user guest/time:all表示没有时间限制. net user guest/time 表示guest用户永远不能登录. 但是只能限制登陆时间,不是上网时间 net time \\127.0.0.1 得到对方的时间, get c:\index.htm d:\ 上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\ copy index.htm \\127.0.0.1\c$\index.htm 本地C盘下的index.htm复制到 127.0.0.1的C盘 net localgroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数 net start 查看开启了哪些服务 net start 服务名开启服务;(如:net start telnet,net start schedule) net stop 服务名停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加参数 /yes可取消确认信息net view 查看本地局域网内开启了哪些共享 net view \\ip 查看对方局域网内开启了哪些共享 net config 显示系统网络设置

jar可执行程序如何运行

win7中Java程序*.jar怎么运行? 首先你要确认自己安装了JDK(JA V A development kit)java开发工具,或者JRE(java running environment)java运行环境中的一个,JDK安装时会自带安装JRE,在环境变量中JRE中bin中的java.exe和javaw.exe配置路径。 1)右键单击计算机图标 2)属性 3)高级系统设置 4)环境变量 5)在PATH最后面添加java.exe和javaw.exe的安装路径,例如我的安装路是E:\所有软件安装根目录\JDK\jre\bin 1.如果你设置了环境变量的话,可以使用:jre目录下面的命令 javaw -jar jar包名 或 java -jar jar包名 来运行jar文件。也可以写入一个bat文件里面,在双击打开这个bat文件就可以运行了(也需要配置环境变量)。 注:如果是控制台需要输出信息使用java,如果是窗体,不需要控制台信息,那么使用javaw。 2.也可以在jar右键,选择打开方式为java.exe或javaw.exe(一般在Java\jre7\bin 文件夹下),然后修改注册表win+R输入regedit进入注册表。 HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command 键下面的默认值为: 你的java安装目录\bin\javaw.exe" -jar "%1" "%*" 如:C:\Program Files (x86)\Java\jre7\bin\javaw.exe" -jar "%1" "%*" 这是因为java或javaw运行jar包的时候需要加入参数“-jar”,故需要修改注册

将CLASS文件生成JAR文件

将CLASS文件生成JAR文件 常常在网上看到有人询问:如何把java 程序编译成.exe 文件。通常回答只有两种,一种是制作一个可执行的JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用JET 来进行编译。但是JET 是要用钱买的,而且据说JET 也不是能把所有的Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行JAR 文件包的方法就是最佳选择了,何况它还能保持Java 的跨平台特性。 下面就来看看什么是JAR 文件包吧: 1. JAR 文件包 JAR 文件就是Java Archive File,顾名思意,它的应用是与Java 息息相关的,是Java 的一种文档格式。JAR 文件非常类似ZIP 文件——准确的说,它就是ZIP 文件,所以叫它文件包。JAR 文件与ZIP 文件唯一的区别就是在JAR 文件的内容中,包含了一个META-INF/MANIFEST.MF 文件,这个文件是在生成JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件: == `-- test `-- Test.class 把它压缩成ZIP 文件test.zip,则这个ZIP 文件的内部目录结构为: test.zip `-- test `-- Test.class 如果我们使用JDK 的jar 命令把它打成JAR 文件包test.jar,则这个JAR 文件的内部目录结构为: test.jar |-- META-INF |`-- MANIFEST.MF `-- test

`--Test.class 2. 创建可执行的JAR 文件包 制作一个可执行的JAR 文件包来发布你的程序是JAR 文件包最典型的用法。 Java 程序是由若干个 .class 文件组成的。这些.class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给CLASSPA TH 环境变量或者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 文件之后,我们的目录结构变为: ==

Netsh命令建立虚拟WIFI无线网络全程

Netsh命令虚拟WIFI无线热点全教程 一、首先以要用管理员身份调出"命令提示符"开始-所有程序-附件-右键点击"命令提示符"选用"以管理员身份运行 (1)打开"命令提示符"(有些小白或许还不明白,如果是管理员身份打开的"命令提示符"左上角会显示(管理员:命令提示符))直接输入下面的命令项:netsh wlan set hostednetwork mode=allow如上图 (2)"命令提示符"输入:netsh wlan set hostednetwork ssid=您想要的无线网络的名称 key=您想要设置的密码.记住 key前有个空格

例如配置是:netsh wlan set hostednetwork ssid=jk key=12345678密码长度必须为8位或以上,如上图 (3)右点击桌面右下角的"网络"打开网络共享中心–>更改适配 器设置,你会发现多了一个Microsoft Virtual wlan Miniport Adapter,这个就是我们刚才虚拟出来的无线网络适配器(图下).关闭此窗口,再打开(同样的方法)右击你的本地连接,也就是你连入网络的有线网卡.选择属性,点击共享,勾选“允许其他网络用户通过此计算机的Internet连接还连接”选项,在下拉菜单中选择刚才建立的虚拟网网络.确定。

(4)在命令提示符中继续输入:netsh wlan start hostednetwork 这一步是开启刚才虚拟的无线网络,这样你的Wifi手机就可以链接到你刚才建的虚拟Wifi网络了但麻烦也就麻烦在这儿,每次你开机要想使用虚拟WIFI热点都要输入这步的命令.

如何打包java可执行程序

有些时候,需要将java程序双击就可以运行的jar文件,如果用手工打包会比较痛苦(尤其是包含有第三方的jar时),这里介绍一个快捷的方式:用FatJar 实现。 1、下载、配置。 fatjar是Eclipse的一个插件,下载后配置到eclipse中即可。 下载地址: https://www.doczj.com/doc/8012823032.html,/fjep/net.sf.fjep.fatjar_0.0.27.zip?m odtime=1195824818&big_mirror=0 在线安装地址:http://kurucz-grafika.de/fatjar 配置好重新启动eclipse,在“首选项”可发现“Fat Jar Prefreence”,表示安装成功。 相关附件可以在我的blog上下载:https://www.doczj.com/doc/8012823032.html,/blog/891089 2、生成可运行jar: 选中一个项目,右键选择“build fat jar”探出对话框,"jar-name"、“Main-Class”必须填写。

完成后“下一步”, 选择需要到处的资源(一般全选择)

选好后,点击“完成”生成jar文件。 用rar打开文件可以看到第三方的库也一并打入了包中。 ok,现在运行“java -jar xxx.jar”可以看到结果了。 3、在windows、linux下执行 (假定我们打包后的文件名称是resourceMonitor.jar,主类是job.StartUp,并且需要一个sigar-x86-winnt.dll库支持)

a、在windows下: 新建runResourceMonitor.bat文件,和resourceMonitor.jar同目录,内容如下: 代码 1.@echo off 2.echo 正在执行,请稍等...... 3.@rem start "Ecode App Server Monitor v1.0" java -jar resourceMo nitor.jar 4.start "Ecode App Server Monitor v1.0" java -classpath .\resourc eMonitor.jar;.\dll\sigar-x86-winnt.dll job.StartUp 5.echo 执行完成! 6. 7.@rem pause 拷贝sigar-x86-winnt.dll,和resourceMonitor.jar同目录。 最后的目录结构: 双击“runResourceMonitor.bat”即可启动服务。 b、在linux下运行 linux和windows有所不同,主要表现在对lib库位置的读取上。win下直接放在jar同目录下即可自动找到,但是linux下需要指定LD_LIBRARY_PATH的位置。关于LD_LIBRARY_PATH可以看本文后面的知识点。 方法是:

更改ip地址网关-巧用netsh命令

更改ip地址网关?巧用netsh命令 导读:我们可能需要在不同的网络中工作,一遍又一遍地重复修改IP地址是一件比较麻烦的事。另外,系统崩溃了,重新配置网卡等相关参数也比较烦人(尤其是无线网卡)。事实上,巧妙地利用Windows 2000/XP/2003系统内置的netsh 命令,可以实现快速切换IP地址,一起来看看吧. 下面是两个关于netsh的用法,将它们复制到文本文档中,将后缀名.txt 改为.cmd直接双击就可以执行: 第一个是用netsh命令来修改电脑的IP地址,子网掩码,默认网关和DNS. @echo off netsh interface ip set address "本地连接" static 192.168.0.1 255.255.255.0 192.168.0.254 1 netsh interface ip set dns "本地连接" static 202.194.40.1 netsh interface ip add dns "本地连接" 202.194.40.2 2 注意:上面用蓝色字体表出的部分是需要你修改的部分。其中第二,三,四行中"本地连接" 一般不需要修改,这要看你的电脑中右击“网上邻居”,选择“属性”出现“网络连接”窗口中的连接名而定,一般的只有一个“本地连接”。 第二行中的192.168.0.1 255.255.255.0 192.168.0.254 三个地址依次为IP地址,子网掩码和默认网关,把它们换成你要修改的地址。 第三行中的202.194.40.1 为DNS的地址,把它换成你要修改的DNS地址即可。 第四行中的202.194.40.2 为辅助DNS地址,也就是第二个,把它换成你要修改的第二个DNS地址即可,如果没有的话,可以把第四行直接删除即可。 第二个是用netsh命令来修改电脑的IP地址,子网掩码,默认网关和DNS为动态获取. @echo off netsh interface ip set address "本地连接" dhcp netsh interface ip set dns "本地连接" dhcp 注意:这个比较简单,只需根据自己电脑的情况,修改一下蓝色字体标注的"本地连接" 即可,一般不需要修改。 下面这篇文章是关于netsh 命令的详细用法,看完后,你会明白它的其它一些用法。 在Windows 2000 中可以使用netsh 命令为以下过程编写脚本:将计算机的静态Internet 协议(IP) 地址更改为动态主机配置协议(DHCP) 地址或相反。netsh 命令无需重新启动计算机即可完成此任务。对于从一个环境移到另一个环境的便携式计算机,当它在一个位置中必须使用静态分配的IP 地址,而在另一个位置必须使用DHCP 分配的IP 地址时,此功能尤其有用。 本文所说的方法适应于Windows 2000,Windows XP和Windows Server 2003。 要将指定适配器的静态地址切换为DHCP 地址,请键入以下命令: netsh interface ip set address "本地连接" dhcp注意:键入此命令会将名为"本地连接"的接口更改为DHCP。 要显示计算机中的所有适配器及其当前IP 地址,以确定正确的适配器名称,请键入以下命令:Netsh interface ip show config要更改为静态地址,请键入以下

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

命令行下编译java并生成jar包 jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。 为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java 存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。 那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。Jar技术在jdk1.1版本中就已存在,在1.2中又有了增强。接下来说说jar的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。 说了这么多,我们现在开始实施。 先打开命令提示符(win2000或在运行筐里执行cmd命令,win98为DOS提示符),输入jar –help,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么: 用法: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/ . 来个小例子试试看: 我们只有一个HelloWorld,如下: public class HelloWorld{ public static void main(String[] args){ System.out.println(―Hi, Hello World!‖); } }

CMD常用命令大全(最新整理)

说起cmd大家都很熟悉吧很有用哦这里我为大家接扫常见的命令 dos命令[只列出我们工作中可能要用到的] cd\ '返回到根目录 cd.. '返回到上一级目录 1、cd 显示当前目录名或改变当前目录。 2、dir 显示目录中的文件和子目录列表。 3、md 创建目录。 4、del 删除一或数个文件。 5、chkdsk 检查磁盘并显示状态报告。 6、cacls 显示或者修改文件的访问控制表(ACL) 7、copy 将一份或多份文件复制到另一个位置。 8、date 修改日期 9、format 格式化磁盘 10、type 显示文本文件的内容。 11、move 移动文件并重命名文件和目录。 12、expand 展开一个或多个压缩文件。 13、ren 重命名文件。 14、attrib 显示或更改文件属性。 15、time 显示或设置系统时间。 16、at at命令安排在特定日期和时间运行命令和程序。要使用AT 命令,计划服务必须已在运行中。 17、net [user],[time],[use] 多,自己去查 18、netstat 显示协议统计和当前tcp/ip连接 19、nbtstat 基于NBT(net bios over tcp/ip)的协议统计和当前tcp/ip连接 20、route 操作和查看网络路由表 21、ping 就不说了,大家都熟悉吧 22、nslookup 域名查找 23、edit 命令行下的文本编辑器 24、netsh强大的命令行下修改tcp/ip配置的工具 25、fdisk 相信现在用的人比较少了,不过在没有其他工具的情况,他还是有用的 更多: attrib 设置文件属性 ctty 改变控制设备 defrag 磁盘碎片整理 doskey 调用和建立DOS宏命令 debug 程序调试命令

在windows下jar文件双击运行的常用方式

关于Java应用以JAR文件发布如何双击自动运行 java程序开发完毕后要以jar包发布,不过在windows系统中jar文件默认双击多会使用RAR 或者其他解压缩文件工具打开,因为jar文件本身就是压缩文件,且rar等工具默认又对jar文件进行关联,所以并不能像我们想象的那样运行目标应用程序。如果要在windows双击自动运行以jar 文件发布的Java应用程序必须对jar文件进行运行方式设置,专门针对jar文件形式来说,在windows 下通常有如下2种方式: 方式一 以命令形式运行Jar文件,过程基本如下: 假设一个已经开发好的java应用打成jar包的文件app.jar位于E:\apps\ 目录下。可以如下所示以命令的形式运行这个jar文件: 1 打开windows命令提示符窗口。 2 进入app.jar 所在的目录E:\apps下。 3 键入如下命令:………\>java –jar app.jar 回车即可运行启动以app.jar 方式发布的java应用。 方式二 设置jar文件的打开运行方式,过程基本如下: 1 打开资源管理器 2 选择菜单项工具的文件夹选项

3 选择文件类型选项卡 4 在已注册的文件类型列表中找到jar 文件,如果没有点击新建按钮并键入jar 确定

会看到已注册文件类型中有了jar文件 5 设置jar文件的高级配置包括图标和打开方式等,选中jar文件点击高级按钮如图 6在此可以更改jar文件的图标:要执行此操作可以点击“更改图标“按钮进行选择图标,点击确认按钮完成图标设置

7 设置打开jar文件的方式(这是主要的) 回到“编辑文件类型”窗口点击“新建”按钮添加操作在“新操作”对话框中“操作”文本输入框中键入open ,点击“浏览”选则运行jar文件的应用程序路径如图: 注意:选择运行的jar文件的应用程序路径是本计算机中的jer 运行环境,路径是….\jer\bin\javaw.exe –jar 参数表示让系统以java jar程序工具运行所有jar文件。 8 “确定完成 提示:任何方式运行jar文件形式的java应用都必须确保jar文件打包正确,包括清单文件中的主类设置等信息,否则jar文件运行时会提示异常错误信息,关于java应用程序打成jar文件发布这里不再赘述。

相关主题
文本预览
相关文档 最新文档