字节码 是Java 编译之后的 的代码 是为了让JVM执行的 jar可以分为 可执行的 和不可执行的
java -jar Test 可以直接运行可执行的 jar包 那些不可执行的 你看的最多的 就是 像JRE这样的依赖包
‘贰’ 如何用jar命令对java工程进行打包
一. jar命令用法:
在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
二.例子(这里介绍的都是生成双击可执行的jar包):
1.首先介绍如何在命令行下执行打包程序。
1.1.没有包结构的最简单的工程。
(1)在c:盘下新建文件“HelloWorld.java”:
1 public class HelloWorld
2 {
3 public static void main(String[] args){
4 System.out.println("Hello world!");
5 }
6 }
(2)在命令行下输入c:\javac HelloWorld.java,在c:盘下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest”(没有后缀名):
Main-Class: HelloWorld
注意最后要有一个空行,否则会出现找不到类的错误。
(4)打包:输入c:\jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:\java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.2.有包结构的java工程。
(1)在c:\com\gosyl\demo\下新建文件“HelloWorld.java”:
package com.gosyl.demo;
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
(2)在命令行下输入c:\javac com/gosyl/demo/HelloWorld.java,在c:\com\gosyl\demo\文件夹下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest2”(没有后缀名):
Main-Class: com.gosyl.demo.HelloWorld
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(4)打包:输入c:\jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:\java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.3.引用到外部jar包的java工程。
(1)在c:\com\gosyl\demo\下新建文件“Car.java”:
package com.gosyl.demo;
public class Car
{
public static void main(String[] args){
Light.on();
}
}
(2)在c:\com\gosyl\demo\下新建文件“Light.java”:
package com.gosyl.demo;
class Light
{
public static void on(){
System.out.println("Light is on!");
}
}
(3)打包1:输入c:\jar cvf Light.jar com/gosyl/demo/Light.class,在c:盘下生成“Light.jar”。
(4)在c:盘下新建文件“menefest-car”(没有后缀名):
Main-Class: com.gosyl.demo.Car
Class-Path: Light.jar
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(5)打包2:输入c:\jar cvmf menifest-car Car.jar com/gosyl/demo/Car.class,在c:盘下生成“Car.jar”。
(6)执行:输入c:\java -jar Car.jar。屏幕回显“Light is on”。
三.总结
1.清单文件menifest,对格式要求很高,注意每个冒号后面要有一个空格,文件最后要有一个空行。
2.对于引用到外部jar包的工程,需要在manifest中定义好Class-Path属性。
3.对于双击.bat文件出现刷屏现象的情况,请直接把.bat文件的内容键入命令行执行。
4.对于重复签名的jar包,在META-INF里面会出现多个签名文件,删除掉多余的,保存其中一个才能保证jws正常启动。
‘叁’ java的jar命令到底有什么用,复制的不要进
1 任何java程序的运行都需要jre环境
2 jar命令只是生成jar包,里面包含了class文件
3 双击能运行,指的是有main方法的class文件可以运行,放在jar包,并且按规定写了一些配置文件,就可以在有jre环境的电脑中双击运行这个class文件了
‘肆’ JAVA中生成jar文件的命令
你用的是MyEcplise吗?里面有自带的生成jar的。但是这个有时候不能成功。你可以装个net.sf.fjep.fatjar_0.0.31。放到MyEcplise安装路径下的plugins文件夹下。右键你的项目。就有个"to jar“的选项。那么你就可以进行打包了。希望对你有帮助!
‘伍’ 如何打包成可在命令行利用java执行的jar文件
jar -cef test.CardLayoutDemo CardLayoutDemo.jar test
以上命令及参数的含义如下:
jar命令为java自带的专用打包工具;
c代表生成新的jar包;
e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.CardLayoutDemo;
f代表生成的jar包的名称,在本例中是CardLayoutDemo.jar。此包名可以随意命名,没有规定;
test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。
‘陆’ java中jar命令问题
你不设置classpath ‘.’系统就找不到当前目录下的类
‘柒’ Java命令行引入一个目录下所有的jar
setclasspath="D:*.jar"
‘捌’ java -jar xxx.jar命令的xxx表示什么
xxx.jar 就是 jar 文件的文件名。可以放在磁盘的任意位置。
正确安装jre后,就要看双击运行 可执行的jar文件
‘玖’ java,javac正常,java-d,java-version 内部或外部命令,jar正常,jar-c内部或外部命令
你打命令的参数要加空格,不如就cmd就会当成命令识别了,所以你要java -version jar -c中间一定要有空格
‘拾’ 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来加载等等。