DOS窗口(cmd)编译运行java项目

刚工作,因为公司的要求,所以需要在DOS窗口运行java程序(项目部署在服务器上,所以这个时候不可能再去使用eclipse了;哎~eclipse让我忽略了很多基础)。弄了很久,所以写在博客里面以示鼓励并方便后面的查找。

我的JDK是1.7.0_51版本,前提是你的JAVA_HOME、path、classpath都已经设置好,这里就不再累赘了。我的Union项目位于E:\java SE下


bin目录下面也就是已经编译好了,lib存放需要的jar包,com下是编译好的class文件(com/ximucredit/dio/share/*.class)。要运行肯定需要先知道javac和java这两个命令。好了,开始说了。

运行的时候命令行位于bin目录下,java -cp .;lib/* com.ximucredit.dio.share.Interface。-cp和-classpath一样(有网友说是因为-classpath太长了,所以就用-cp代替;-ClassPath取首字母大写就是-cp)

下面是总结:1、classpath的包名要一起跟在后面(com.ximucredit.dio.share包名,Interface类名)

     2、用了-cp或者-classpath之后需要.;不然会报错(报错的内容为找不到或无法加载主类),配置文件也可以找到,在编译的时候不需要.;(也是看到了一位网友说用了-cp会覆盖掉你设置的环境变量classpath。)

   3、通配符不能这么去使用,如:*.jar ;而是应该把所有的jar包放在同一个文件夹(lib下面),然后这么去用lib/*

编译(另外一个项目):

画红线的编译是可以完成的;通过下面可以知道编译不需要.;,包之间需要用/ 隔开;


通过下面可以知道-d可以设定生成的class文件位于哪个文件夹下面,json位于test包下面所以生成的时候会把包一起生成;


区别:运行的时候需要,;表示当前路径,编译则不需要.;;运行时-cp可以有../(即改变当前路径),只是有../没有 .;会报错;编译的时候有../(改变当前路径)可以没有.;(因为classpath中的.;是找.class文件);运行的时候类名需要和包名一起才可以运行,编译的时候类名可以不和包名一起,可以位于包下编译(和包一起编译时用/)(下面测试lib位于E盘下)


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值