‘壹’ 一个java程序用到了很多jar包,如何用命令行形式来编译、运行此程序
如果只有一个类的话
需指定关联jar的classpath
javac
-cp
jars
类
如果多个文件,这个是没法用命令行动态编译的
除非你一个个指定
‘贰’ 使用Java命令行运行同一个jar包两次会产生两个进程
产生冲突了。
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[2]。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
‘叁’ java 运行命令行jar怎么读输出,输入指令
.getOutputStream()得到的是是用于发送命令的流。in和out是对于本进程来说的。
charset是"UTF-8"、"GBK"等等。如果你的命令中没有中文字符,就无所谓了,哪种字符集都可以。
‘肆’ 如何通过命令行将java文件打包成jar
先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了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命令对java工程进行打包
在命令行下打包jar使用如下命令:
jar cvf filename.jar foldername
可以使用JAR命令进行打包
下面是jar命令的帮助说明:
用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项包括:
-c 创建新的归档文件
-t 列出归档目录
-x 解压缩已归档的指定(或所有)文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
-f 指定归档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储;不使用任何 ZIP 压缩
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含其中的文件
如果有任何目录文件,则对其进行递归处理。
清单文件名、归档文件名和入口点名的指定顺序
与 "m"、"f" 和 "e" 标志的指定顺序相同。
示例 1:将两个类文件归档到一个名为 classes.jar 的归档文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用现有的清单文件 "mymanifest" 并
将 foo/ 目录中的所有文件归档到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
下文假设编译后的class文件在bin目录下
‘陆’ 如何运行.jar形式的Java程序
1
确保安装了Java。在命令行中输入 java -version,如果没有最新版本,先更新,再继续。
2
使 .jar文件可执行。
.jar可以通过整理Java程序的类别文件来变为可执行文件,而编译器或Java虚拟机可以识别这些格式。.jar文件是通过javaw(Java应用程序管理器)执行的。你需要设置.jar文件中的应用程序接入点(即含有程序主功能的文件类别)。你需要通过清单文件(Manifest
file)来设置接入点。步骤如下:
Java工具会自动把meta-inf/manifest.mf设置为.jar的文件路径。创建新的清单文件的时候,名字会创建为 "Manifest-Version: 1.0, Created-By: 1.6.0 (Sun Microsystems Inc)"
创建manifest addition .txt 文件。输入 Main Class: [Package Name].[Class Name], ,把[Package Name]、[Class Name]替换为你的套件名称和类别名称(即创建了属性值对)不要忘了最后加一行空行。
进入这个终端指令程序,调整清单文件,使其包括应用程序的接入点,把以下代码的中括号部分改为你程序的信息。 jar cfm [jar 文件名] [附加清单文件名] [导入文件]
重新看一下清单文件。设置了接入点以后,会是 "Manifest-Version: 1.0,Created-By: 1.6.0 (Sun Microsystems Inc), Main Class: [套件名称].[类别名称]"
你也可以用jar工具设置接入点。不过这样会覆盖清单文件中主类别属性。输入下面代码(把中括号部分替换) jar cfe [jar 文件名] [套件名称] [带主功能的种类名称
3
运行 .jar 文件 。用以下代码运行 .jar(java应用程序运行的主要方法): java -jar [Jar 文件名]
4
使得可以双击执行 .jar程序(可选)。 要双击打开.jar文件的话,需要把 javaw (java 应用程序管理器)可执行程序文件路径改变,输入以下代码: C:\Program Files\Java\j2rex.y.z\bin\javaw.exe" -jar "%1" %*
‘柒’ 命令行运行java程序,引入的其他jar包时,如何解决
java -cp .;A.jar B
A 是你的jar包,跟B放在一个文件夹就行。如果不在一个地方,就要指定了,如:
java -cp .;d:\A.jar B
B 就是你要执行的类
==================
原理:
java 是执行编译后的class的,这个不用多说,都知道...
-cp 就是引入外部 zip包或者jar包。
正确来说就相当于你在环境变量配置的classpath后的参数。
即:指定运行时需要的class。
其中 . 是在当前目录找 ; 以后后面的,是到你指定的目录找
==================
你看我给的例子了吗?我可没那么说。
第一行可是这么写的:java -cp .;A.jar B (A、B的解释在上面)
.; 也别给漏了
‘捌’ java -jar命令是干什么的
jave -jar 是在命令行模式下运行一个java程序的命令,例如:
jave -jar test.jar 即可运行test.jar。
如果运行的jave项目需要引入其他的第三方jar包,通常会采用
java -classpath some.jar -jar test.jar
但是这种方法比较麻烦。而且有的时候会失效,
所以使用Extension Classloader来加载这些第三方引用的jar包,
可以把需要加载的jar都扔到%JRE_HOME%/lib/ext下面,这个目录下的jar包会在Bootstrap Classloader工作完后由Extension Classloader来加载。非常方便,非常省心。
其他的方法还有很多种例如使用AppClassloader来加载或者自定义Classloader来加载等等。
‘玖’ 如何打包成可在命令行利用java执行的jar文件
jar -cef test.CardLayoutDemo CardLayoutDemo.jar test
以上命令及参数的含义如下:
jar命令为java自带的专用打包工具;
c代表生成新的jar包;
e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.CardLayoutDemo;
f代表生成的jar包的名称,在本例中是CardLayoutDemo.jar。此包名可以随意命名,没有规定;
test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。
‘拾’ 如何把使用命令行或者Eclipse将Java程序打包为jar文件
如何把写好的Java程序打包为jar文件呢?
一、用Eclipse来创建
1、选择项目,点击右键,选择“export”;
2、选择"java->Runnable JAR file";
3、选择保存的路径,点击“Finish”即可。
二、命令行的方式:
1.打包
jar cf JAR文件名称 程序文件名称或者程序所在的文件夹
举例:
jar cf MyApp.jar /home/xxx/xxx
2.查看一个jar文件的内容
jar tvf JAR文件名称
举例:
jar tvf MyApp.jar
3.将一个jar文件解压缩
jar xf JAR文件名称
举例:
jar xf MyApp.jar
4.往压缩包里面增加文件
jar xf JAR文件名称 添加的文件或者其他的jar文件
举例:
jar xf MyApp.jar Test.class
5.更新一个jar文件
jar uf JAR文件名称 更新的文件或者其他的jar文件
举例:
jar uf MyApp.jar Test.class
6.运行一个jar程序
java -jar JAR文件名称
举例:
java -jar MyApp.jar
7.创建一个可以运行的jar文件
首先必须有一个主类(Main Class);接着创建一个叫做MANIFEST.MF的文本,然后把以下内容拷贝进去。
Manifest-Version: 1.0
Main-Class: YourMainClass
这个YourMainClass就是程序中包含main方法的那个class,下面的语句用来创建可执行的jar文件。
jar cvfm MyApp.jar MANIFEST.MF 文件或文件夹路径