好记性不如烂笔头-手动编译jar包<转>
2013-11-28 17:10
232 查看
如果想用java编写一个可视化小程序,碰巧手头没有IDE的话,可以用命令行来完成编译、打包等工作。
拿自己编写的“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文件相同。
拿自己编写的“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文件相同。
相关文章推荐
- Ubuntu14.04 LTS下 <<UNIX环境高级编程>>源代码下载编译步骤
- ICCAVR编译报错 !E <library>(197): area 'bss' not large enough
- <iostream> 和 <iostream.h>的区别 及 Linux下编译iostream.h的方法
- #include <afxinet.h> fatal error C1903无法从以前的错误中恢复;正在停止编译
- <android编译ffmpeg+x264+faac> <Android/NDK环境下FFmpeg及AAC,MP3,X264的编译>
- IOS开发笔记:编译时出现的错误<1>
- 使用muduo编译链接错误 undefined reference to `muduo::ThreadPool::run(boost::function<void ()()>&&)'
- <备忘1004>编译Windows版本的VLC软件
- Ubuntu14下Hadoop开发<2> 编译64位Hadoop2.4
- folly编译错误boost::re_detail_106100::cpp_regex_traits_implementation<char>::transform解决办法
- 支付宝的SDK 编译 #include <openssl/asn1.h> not found
- <备份>10月12日 内核编译与日志
- Android编译源码时出现的:<命令行>:0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror]
- <转> 模板类 声明和定义 编译 c++
- Android编译源码时出现的:<命令行>:0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror]
- 好记性不如烂笔头系列:编译ko模块相关
- iOS 编译 <Error>: CGContextRestoreGState:
- EBS系统<关于Oracle数据库的包的编译(对AP程序的)影响>
- <转>美能达手动镜头——版本问题
- 编译时限制--<limits.h>