java 打包运行_java配置、打包、运行

先回顾下java环境变量配置:

(1)JAVA_HOME,jdk安装目录

我的是 D:\java\jdk1.7.0_03

jdk目录下有bin、db、include、jre、lib等文件夹和其他文件

(2)path变量

%JAVA_HOME%\bin;

(3)CLASSPATH变量

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;

对于CLASSPATH可以不配置,那么在用java命令运行java程序的时候就需要设置引用类的

路径(也就是classpath)

验证是否成功:

在dos窗口中输入java或者javac 回车,看是否有一长串描述

以前写java程序,建工程都是用IDE环境操作的,这次用不用IDE来书写代码,手工方式进行java代码的编译、运行、打包、以及利用.bat文件来配置似可运行java程序。

1、创建工程,编写源码

工程样式:

工程名字

src (java源文件)

build\classes(这是ant用的放class文件)

bin(一般用IDE建工程后,放class文件的文件夹)

lib(外部jar)

如果是用像记事本之类的编辑器写的话:

src名字当然也可以是其他名称如:sour

找一个文件夹专门放class文件,可以是bin文件夹,也可以是build\classes文件夹

当然其他文件夹也可以,就算放在工程下也可以。不过这样不好看。还是按规矩来吧。

不管是哪种方式,java文件的包名结构都是一样的,文件系统中是通过路径体现的。

不过,最好在路径中不要出现中文字符

2、编译java源码

javac -sourcepath src -d build\classes src\包\java文件.java

意思是:将某java文件编译后放入build\classes文件夹。

当然如果java文件有包名约束,在build\classes文件夹下会自动创建的。

// 运行一下

java -cp build\classes 主类相对于build\classes的路径(包路径.java文件名

如:java -cp build\classes HelloWorld

3、写配置文件Manifest.mf

可以通过记事本写然后另存为就可以了

利用命令行的输出命令

echo Main-Class: 主类文件路径(包.主类名)>Manifest.mf

就是将Main......写入Manifest.mf文件中

4、打包成为jar文件

md build\jar创建文件夹(可以是任何自己的文件夹,)

jar cfm build\jar\Hello.jar Manifest.mf -C build\classes\ .

意思是将build\classes下的文件打包,输出到build\jar文件夹下的Hello.jar中

其中后面的-C,这里是大写的C,后面还有一个点(.),应该表示的是当前路径

有些资料中,在写配置文件的什么,没有写后缀名mf,那么在这的Manifest也就

不能有mf(总之要和配置文件一样)。另外,因为一般Manifest文件是放在工程目录

下的,所有就是Manifest.mf,如果放在某文件下,则要写完整路径(如:在工程

目录下bin文件夹下,就应该是bin\Manifest.mf)

利用这种方式打包,只要是把资源文件放在classes下,这些资源文件(如:图片)也会打包进去

5、如果想运行的话

两种方式:

A:在dos下,java -jar jar的文件路径(可以是相对的,也可以是绝对的)

B:利用.bat文件,.bat文件内容为java -jar jar文件相对路径

如:java -jar build\jar\Hello.jar

不过这样的写法,在运行的一个GUI程序的时候,dos窗口会一直存在,dos窗口关闭了,

程序也退出了。

为了是dos不见,且,dos窗口的关闭,不会使java程序退出,则在bat文件中这样写:

如:@start javaw -jar build\jar\Hello.jar

例子:

需要说明的是:要运行java程序要么自己在运行的时候指定classpath引入类库,要么在环境变量中配置要引入类的classpath。

第一步 源码编写和编译

编写源码并且利用javac命令进行编译

编译好之后,利用java命令运行一下。

所有创建过程和编译、运行过程如下图:

72f263cc38b759701b851a82f62eb40f.png

第二步 打包class文件并运行jar文件

写Manifest.mf文件,可以用记事本写,也可以用dos命令操作,在此用dos命令

具体命令操作如下图:

79e74c494db9097564a7f2d9cf792d32.png

第三步 书写.bat文件

clock.bat文件内容为:

@start javaw -jar build\jar\clock.jar

cdc38f8a042fa72b83c7d32a14c18361.png

6、如果一次性编译多个java源文件

比如:lc/dao/Dao.java lc/dao/Service.java

在进入dao目录后,javac *.java就可以变量lc.dao包中所有的java文件了

不过,此包文件如果引用了其他包中的文件,则要先编译一用包中的文件,然后才能编译

这个包中的文件。

总之,先将最基本包中的文件编译,然后再去编译引用这些文件的其他包中的文件。

不过,现在有IDE环境,开发的时候,就已经编译好了,无需手动编译了。

也可以用Ant来一次性编译

现在用ant来进行前面的操作。

(1)在工程下编写build.xml配置文件,在上面例子中的配置文件内容为:

(2)利用ant进行编译,打包

在dos下进入工程的目录下(也可以用绝对路径)

ant compile

ant jar

ant run

第一步是编译:编译完后,会将class文件放在build/classes下,也就是配置中javac的destdir指定的路径下。

第二步是打包:打包后,会将打包文件放在build/jar下,文件名是clock.jar

总之用ant非常方便的就可以完成前面那么繁琐的步骤,因为用ant只要将一些源文件路径和生成后目标路径,以及生成文件等名称配置下就可以了,另外Manifest.mf文件也被配置进去了。另外,如果将图片等资源放在class下,也可以打包进jar中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值