JAVA 命令行运行java项目

多年以来 一直使用的是IDE 来写java 项目,导致很多的最基础的东西都渐渐模糊了.

最近遇到一个问题就是如果命令行来运行一个java项目

当然这不是初学的那个运行 HelloWord.java ,而是一整个有多个包,多个java文件同时还有jar包依赖的一个项目

ok 先来复习一下运行HelloWord.java

首先cd 到HelloWord.java 的目录 然后:

javacHelloWord.java

编译java文件, 然后会生成 HelloWord.class文件

然后执行 class文件

javaHelloWord.class

如下图:

上面是简单的 简单的编译运行的复习,

但是回到现在运行一整个项目, 冒失好像不是那么好运行的了

当然,如果用IDE 把项目导出为可执行的jar 包得话, 直接 用名 java -jar demo.jar 就可直接运行了,

这里说得时自己去编译然后执行

首先编译 javac

项目结构如图:

带有一个简单的jar包

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

运行如下命令:

javac -d bin/ src/com/czy/Main.java src/com/czy/Teacher.java src/com/czy/student/Student.java -cp lib/lib.jar

-d bin/ 表示把编译的文件 放到bin 目录下面

src/com/czy/Main.java src/com/czy/Teacher.java src/com/czy/student/Student.java

后面这些都是 相应的java文件, 所有的java文件都需要编译

后面的 -cp lib/lib.jar

表示 吧 lib.jar 加到 classpath中去, 不然编译会出错如图:

ok 看下编译好的文件

ok 接下来 运行项目

java -cp bin/:lib/lib.jar com.czy.Main

-cp bin/:lib/lib.jar

表示 吧相应的 class 文件加入到 class path 中

后面则是 具体的 类名 com.czy.Main

需要注意的是 bin/:lib/lib.jar使用:隔开

所有的依赖包都需要加入到 classpath中去

项目运行如下

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 j a r f i l e @ 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 中去

产考文章:

http://blog.youkuaiyun.com/huagong_adu/article/details/6929817

要从命令行运行一个 Java 脚本,你需要确保 Java 已经安装在你的系统上,并且 `java` 命令可以在命令行中使用。以下是运行 Java 脚本的步骤: ### 编写 Java 代码 首先,你需要有一个 Java 源文件(`.java` 文件)。例如,创建一个名为 `HelloWorld.java` 的文件,并在其中编写以下代码: ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` ### 编译 Java 代码 在运行 Java 程序之前,需要先将其编译为字节码文件(`.class` 文件)。打开命令行工具,导航到包含 `HelloWorld.java` 文件的目录,并运行以下命令: ```bash javac HelloWorld.java ``` 如果编译成功,将会生成一个名为 `HelloWorld.class` 的文件。 ### 运行 Java 程序 编译完成后,可以使用 `java` 命令来运行编译后的程序。注意,运行时不需要添加 `.class` 扩展名: ```bash java HelloWorld ``` 如果一切正常,命令行将输出: ``` Hello, World! ``` ### 注意事项 - 确保 Java 已正确安装,并且 `javac` `java` 命令可以在命令行中使用。你可以通过运行 `javac -version` `java -version` 来检查 Java 编译器运行环境是否已正确安装[^2]。 - 如果遇到 `ClassNotFoundException` 或 `NoClassDefFoundError` 错误,请确保当前目录在路径(`CLASSPATH`)中,或者使用 `-cp .` 参数指定当前目录作为路径: ```bash java -cp . HelloWorld ``` ### 示例代码总结 以下是完整的命令行操作示例: ```bash # 编译 Java 文件 javac HelloWorld.java # 运行 Java 程序 java HelloWorld ``` 输出结果: ``` Hello, World! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值