本文是关于java的基础知识的。

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/java.html


首先java程序运行需要哪些东西呢?当然是:

1,java虚拟机。

2,java代码。

3,java代码中引用的其他资源。例如一些第三方类库。


运行java程序有两种方式:运行class file 或运行jar包。

  • 使用class文件

首先使用javac编译代码,生成class文件:

javac MyApp.java

然后用java运行class文件:

java [ options ] class [ argument ... ]

javaw [ options ] class [ argument ... ]

这里的class文件,必须是包含main函数的那个类编译产生的class文件,也就是说,是程序的入口。

java命令的options有很多,大家自己看吧。常见的是

-cp {classpath}

Specify a list of directories, JAR archives, and ZIParchives to search for class files.

也就是说,这里的classpath应该包括所有需要的jar包,比如依赖的第三方类库。以及程序本身的jar包,前面说的包含main函数的class文件,就应该在classpath里的其中一个jar包里。


java和javaw命令区别不大,Use javaw when you don't want a command prompt window to appear

  • 使用jar包

什么是jar包:

The Java™ Archive (JAR) file format enables you to bundle multiple files into a single archive file. Typically a JAR file contains the class files and auxiliary resources associated with applets and applications.

使用jar命令生成jar包,其实也就是把编译好的class文件组织在一起,再压缩一下,放到一个文件里的过程而已。

在使用jar包运行程序时,也必须告诉java运行时,程序的入口在哪。这是通过在jar包里的manifest文件中的main-class属性来指定的。


java [ options ] -jar file.jar [ argument ... ]

javaw [ options ] -jar file.jar [ argument ... ]


所以使用class文件和使用jar包没有本质区别,因为jar里包含的也是class文件。只不过jar包把程序需要的资源都整合了一下,并且可以版本管理啥的。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐