命令行编译运行java

做一个手动编译打包执行java类例子 

 

首先进入zipCompressorByAnt 下面的操作都是在这个目录下进行的



目录结构如下,src里面存放了我们的java类,lib里是我们要用到的包,我们的目地是首先把java类编译成class文件放在当前class目录下并包含包路径,然后把class文件打成jar放在lib下 

首先们要建一个class文件,javac编译的时候不会生成目录除了类中含有的包名目录外,然后用如下的命令就可以生成class文件,并放在我们指定的目录下 

Java代码   收藏代码
  1. javac -encoding utf-8 -Djava.ext.dirs=./lib  -d class src/com/yan/compress/*.java  


对上面的命令进行说明 
-encoding utf-8 指定编码,如果不指定就以平台的编码为准 
-Djava.ext.dirs=./lib 指定编译的时候调用的类 
-d class 指定要生成到的目录 
src/com/yan/compress/*.java 这就是具体要编译的类了,星号表示这个目录下的所有的java文件,如果在这个目录下有多个java文件,那么装分别生成class文件到指定目录 

命令执行后就可以看到class目录中就有了我们编译过的类 

第二步生成jar文件 

Java代码   收藏代码
  1. jar -cf lib/abc.jar class/com/yan/compress/ZipCompressorByAnt.class  


对命令进行一个说明 
-c 就是要生成jar包 
-f后面跟指定的包名lib/abc.jar 
class/com/yan/compress/ZipCompressorByAnt.class  类文件 

命令执行后就可以看到在lib目录下多了一个abc.jar包 

第三步就是执行这个类 

Java代码   收藏代码
  1. java -Djava.ext.dirs=./lib    com.yan.compress.ZipCompressorByAnt  2013-08-04  


-Djava.ext.dirs=./lib 指定要用到的包 

com.yan.compress.ZipCompressorByAnt 带包名的类 
2013-08-04 参数,如果需要参数的话就可以带参数 

到这里一个手工编译类的例子就完成了,下面就对命令的一些细节进行一些扩展 

如果在编译的时候想一下子编译多个类,并且这些类不在一个文件夹里怎么办 
假设除了下面的要编译的类个还有在a/*.java b/*.java  c/*.java 一些文件 
其实也简单就看命令 
Java代码   收藏代码
  1. javac -encoding utf-8 -Djava.ext.dirs=./lib  -d class src/com/yan/compress/*.java a/*.java b/*.java c/*.java  

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

原文:http://ylq365.iteye.com/blog/1920757?utm_source=tuicool

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

总结:


javac -encoding utf-8 -Djava.ext.dirs=./lib  -d class test/*.java

lib里存放需要的lib的jar包
第一步:这里如果是当前目录的话可以是这样javac -encoding utf-8 -Djava.ext.dirs=./lib *.java
第二步:jar -cf lib/testspace.jar testspace.class


第三步运行:java -Djava.ext.dirs=./lib testspace



--------------------------------------------------------------------------------命令行编译java------------------------------------


假设有a.java的文件

package test;

publice class A{

          public static void main(String[]args){

         System.out.println("你好");

}

编译:javac a.java

会生成test文件夹和class类

 执行java test/A


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值