用命令行编译java并生成可执行的jar包
程序员文章站
2022-05-01 12:29:17
...
如果想用java编写一个可视化小程序,碰巧手头没有IDE的话,可以用命令行来完成编译、打包等工作。
拿自己编写的“java记事本”为例,介绍一下这个过程:
1.编写源代码。
2.打开终端。
打开系统菜单:“开始”->“运行...”->输入“cmd”,打开终端。
执行如下命令转到源文件所在目录:
e:
cd myApp
3.编译源文件。
输入如下命令进行编译:
javac NotePad.java
执行成功之后,会在当前目录下生成一系列.class文件。
4.新建包文件夹。
输入如下命令新建包文件夹:
mkdir test
也可在资源管理器新建此文件夹。
此文件夹必须与源文件中定义的包名完全一致(package test;)。
5.将类文件放到新的文件夹里。
在资源管理器里将编译生成的所有.class文件移动到新建的test文件夹。
6.测试程序是否可正常运行。
在E:\myApp路径下输入如下命令:
java test.NotePad
如果可以正常运行程序,就可以进行下一步了。否则应检查上述步骤的正确性。
7.生成可执行的jar包。
在E:\myApp路径下输入如下命令:
jar -cef test.NotePad NotePad.jar test
以上命令及参数的含义如下:
jar命令为java自带的专用打包工具;
c代表生成新的jar包;
e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.NotePad;
f代表生成的jar包的名称,在本例中是NotePad.jar。此包名可以随意命名,没有规定;
test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。
8.测试jar包是否可正常运行。
在E:\myApp路径下输入如下命令:
java -jar NotePad.jar
如果可以正常运行程序,则说明jar包制作成功。
如果已经将“Java(TM) Platform SE binary”关联到.jar文件类型(通过正常安装jdk后都会正确关联),还可以通过双击来执行此类jar包,其感受与exe文件相同。
拿自己编写的“java记事本”为例,介绍一下这个过程:
1.编写源代码。
编写源文件:NotePad.java并保存,例如:E:\myApp\NotePad.java。程序结构如下:
package test;
import java.awt.*;
import javax.swing.*;
//更多包的导入...
class NotePadFrame extends JFrame {
//主界面的设计...
}
//其他相关代码...
public class NotePad {
public static void main(String[] args) {
new NotePadFrame();
}
}
2.打开终端。
打开系统菜单:“开始”->“运行...”->输入“cmd”,打开终端。
执行如下命令转到源文件所在目录:
e:
cd myApp
3.编译源文件。
输入如下命令进行编译:
javac NotePad.java
执行成功之后,会在当前目录下生成一系列.class文件。
4.新建包文件夹。
输入如下命令新建包文件夹:
mkdir test
也可在资源管理器新建此文件夹。
此文件夹必须与源文件中定义的包名完全一致(package test;)。
5.将类文件放到新的文件夹里。
在资源管理器里将编译生成的所有.class文件移动到新建的test文件夹。
6.测试程序是否可正常运行。
在E:\myApp路径下输入如下命令:
java test.NotePad
如果可以正常运行程序,就可以进行下一步了。否则应检查上述步骤的正确性。
7.生成可执行的jar包。
在E:\myApp路径下输入如下命令:
jar -cef test.NotePad NotePad.jar test
以上命令及参数的含义如下:
jar命令为java自带的专用打包工具;
c代表生成新的jar包;
e代表可执行的类,亦即main方法所在的类。书写时要加上包名,在本例中是后面的test.NotePad;
f代表生成的jar包的名称,在本例中是NotePad.jar。此包名可以随意命名,没有规定;
test最后面的这个参数表示将test目录下的所有文件都打包放到新的jar包中。
8.测试jar包是否可正常运行。
在E:\myApp路径下输入如下命令:
java -jar NotePad.jar
如果可以正常运行程序,则说明jar包制作成功。
如果已经将“Java(TM) Platform SE binary”关联到.jar文件类型(通过正常安装jdk后都会正确关联),还可以通过双击来执行此类jar包,其感受与exe文件相同。
上一篇: CSS之height: 100%和height: auto的区别
下一篇: Hive中的存储格式