使用cmd命令运行java

1.普通项目(不带lib文件夹)

1.在桌面上建一个名为com的文件夹,在文件夹中用记事本写两个类文件,后缀改为.java。两个类文件的内容如下图所示:

20210619153846401.PNG

2.使用javac命令编译主函数,命令行为javac TestMain.java。结果可以看到自动生成了两个.class文件。

20210619153943133.PNG

3.使用java TestMain命令行运行程序得到运行结果如下:

20210619154222990.PNG

2.带lib文件夹的项目

实操代码:

## 编译文件
javac -d bin/ -Djava.ext.dirs=lib/ TestMain.java
## 进入编译文件的目录
cd lib
## 运行代码
java -Djava.ext.dirs=../lib/ TestMain

具体讲解:
项目结构如图:
image.png
带有一个简单的jar包

1. 首先 cd 到 java_test 工程目录下

运行如下命令:
javac -d bin/ -cp lib/junit-platform-commons-1.9.1.jar; TestMain.java

  • -d bin/ 表示把编译的文件放到 bin 目录下面,其中 bin 需要自己建立,当然,不要这个命令也可以,文件就会默认生成在当前目录位置。
  • TestMain.java为需要编译的运行文件
  • -cp lib/junit-platform-commons-1.9.1.jar;指定需要的依赖jar包的位置,多个jar使用;分割,最后一个 jar 包的 ;后需要一个空格,即和TestMain.java隔了一个空格
  • 提示:-cp lib/junit-platform-commons-1.9.1.jar;命令可以换成 -Djava.ext.dirs=lib/
    • -Djava.ext.dirs 是设置 lib 包所在的目录

ok 看下编译好的文件
image.png
ok 接下来 运行项目

  1. **先进入 bin 目录 ****cd bin**
  2. **运行项目 **java -cp ../lib/gson-2.10.1.jar; TestMain

项目运行如下
image.png
ok 一个简单的java 工程就运行完了
但是 貌似有些繁琐, 需要手动键入 java文件 以及相应的jar包 很是麻烦,
so 可以用 shell 来脚本来简化相关操作
shell 文件整理如下:

#!/bin/bash
echo "build start"

JAR_PATH=libs
BIN_PATH=bin
SRC_PATH=src

# java文件列表目录
SRC_FILE_LIST_PATH=src/sources.list

#生所有的java文件列表
rm -f $SRC_PATH/sources
find $SRC_PATH/ -name *.java > $SRC_FILE_LIST_PATH

#删除旧的编译文件 生成bin目录
rm -rf $BIN_PATH/
mkdir $BIN_PATH/

#生成依赖jar包 列表
for file in  ${JAR_PATH}/*.jar;
do
jarfile=${jarfile}:${file}
done
echo "jarfile = "$jarfile

#编译
javac -d $BIN_PATH/ -cp $jarfile @$SRC_FILE_LIST_PATH

#运行
java -cp $BIN_PATH$jarfile com.zuiapps.danmaku.server.Main

有一点需要注意的是, javac -d $BIN_PATH/ -cp jarfile @jarfile @jarfile @SRC_FILE_LIST_PATH
在要编译的文件很多时候,一个个敲命令会显得很长,也不方便修改,
可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,
以上就是吧java文件放到 $SRC_FILE_LIST_PATH 中去了
文件内容如下:

总结:
编译 :

  1. 需要编译所有的java文件
  2. 依赖的java 包都需要加入到 classpath 中去
  3. 最后设置 编译后的 class 文件存放目录 即 -d bin/
  4. java文件过多是可以使用 @$SRC_FILE_LIST_PATH 把他们放到一个文件中去
    运行:
    1.需要把 编译时设置的bin目录和 所有jar包加入到 classpath 中去
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值