大数据学习
bigdata learning
Toggle navigation
大数据学习
主页
openGauss数据库
Flume
MongoDB
Hadoop
数据库实验
Kafka
Zookeeper
Hbase
Manual
Spark
Neo4j
InfluxDB
RabbitMQ
Flink
About Me
归档
标签
Javac jar打包
无
2022-12-08 22:23:20
56
0
0
bigdata
**一、建立HelloWorld工程** ```bash # 创建工程文件夹helloworld nbu@ecs:~$ mkdir helloworld # 创建项目package org.nbubigdata.test nbu@ecs:~$ mkdir -p helloworld/src/org/nbubigdata/test # 创建输出文件夹classes 用于保存编译后的class文件及jar包 nbu@ecs:~$ mkdir -p helloworld/classes # 新建java文件HelloWorld.java nbu@ecs:~$ cd helloworld/src/org/nbubigdata/test/ nbu@ecs:~/helloworld/src/org/nbubigdata/test$ vim HelloWorld.java ``` 输入如下内容: ```java package org.nbubigdata.test; public class HelloWorld{ public static void main(String[] args) { System.out.println("Hello world"); } } ``` **二、使用 javac 命令进行编译** ```bash nbu@ecs:~/helloworld/src/org/nbubigdata/test$ cd ~/helloworld/ nbu@ecs:~/helloworld$ javac -d ./classes ./src/org/nbubigdata/test/HelloWorld.java ``` 编译完成后可以看到`~/helloworld/classes/org/nbubigdata/test/` 下多了一个HelloWorld.class 文件 使用 java 命令运行编译后代码。 ```bash # 进入classes文件夹下 nbu@ecs:~/helloworld$ cd classes/ # 运行java对class文件进行测试 nbu@ecs:~/helloworld/classes$ java org.nbubigdata.test.HelloWorld Hello world ``` > 其中`org.nbubigdata.test`是包名 HelloWorld是其中的HelloWorld.class文件 **三、打成可运行的 jar 包** ```bash nbu@ecs:~/helloworld/classes$ vim MANIFEST.mf ``` 经过上述步骤以后,可以先在classes目录下编写一个MANIFEST.mf 文件内容如下,这里要注意每个冒号后面的英文空格,每行结束都要有个回车。 ``` Manifest-Version: 1.0 Class-Path: Created-By: 1.8.0_312 (Sun Microsystems Inc.) Main-Class: org.nbubigdata.test.HelloWorld ``` 输入以下命令,可在classes文件夹下生成HelloWorld.jar包 ```bash nbu@ecs:~/helloworld/classes$ jar -cvfm HelloWorld.jar MANIFEST.mf org added manifest adding: org/(in = 0) (out= 0)(stored 0%) adding: org/nbubigdata/(in = 0) (out= 0)(stored 0%) adding: org/nbubigdata/test/(in = 0) (out= 0)(stored 0%) adding: org/nbubigdata/test/HelloWorld.class(in = 445) (out= 303)(deflated 31%) nbu@ecs:~/helloworld/classes$ ll total 20 drwxrwxr-x 3 nbu nbu 4096 Dec 8 22:06 ./ drwxrwxr-x 4 nbu nbu 4096 Dec 8 21:25 ../ -rw-rw-r-- 1 nbu nbu 1131 Dec 8 22:10 HelloWorld.jar -rw-rw-r-- 1 nbu nbu 126 Dec 8 22:10 MANIFEST.mf drwxrwxr-x 3 nbu nbu 4096 Dec 8 21:50 org/ ``` > `jar -cfm`中`f`和`m`的次序要与`HelloWorld.jar`和`MANIFEST.mf`相对应 **四、调用jar包中的类** ``` # 直接调用jar中的主类 nbu@ecs:~/helloworld/classes$ java -jar HelloWorld.jar Hello world # 若没有在MANIFEST.mf中指定主类,可采用如下方式调用jar包中的特定class文件 nbu@ecs:~/helloworld/classes$ java -cp HelloWorld.jar org.nbubigdata.test.HelloWorld Hello world ```
上一篇:
JDK安装
下一篇:
Maven命令行构建Java程序
文档导航