下面介绍了我探索着实现Java文件在命令行运行的路程。
无jar包依赖的java文件运行方式
首先我们编写一个 HelloWorld.java 文件放在C:\test文件夹下
(1)运行cmd,使用cd命令切换至C:\test目录下
(2)使用 javac HelloWorld.java 编译java文件
(3)使用 java HelloWorld 运行java文件
注意:编译时必须加 .java ,否则将会报错;运行时不加后缀,否则将会报错
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World! 你好 世界!");
}
}
都说一图顶千言,如果上面介绍的不是很直观,可以参考下面的图示
有jar包依赖的java文件运行方式
我们以mysql-connector-java-5.1.22-bin.jar为例,并且使用Java中JDBC编写Conn类以用来连接数据库查询数据。
import java.sql.*;
public class Conn {
//此处以mysql驱动为例,如果博友要使用此代码,别忘了改数据库名称、用户名、密码
public static final String driver = "com.mysql.jdbc.Driver";
public static final String url = "jdbc:mysql://localhost:3306/db_test?CharacterEncoding=utf8";
public static final String user = "root";
public static final String pswd = "admin";
public static void main(String[] args){
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,pswd);
Statement stm = conn.createStatement();
String sql = "select * from tab_test";
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString("name"));
}
rs.close();
stm.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
错误的运行方式
以下两条是失败的例子,以用于给博友警示:
(1)首先我们将jar包放在C:\lib文件夹下,然后使用环境变量配置 classpath 配置jar包的路径。例如:在classpath中添加C:/lib/mysql-connector-java-5.1.22-bin.jar;路径后,运行java程序,以失败告终。
(2)将jar包直接放在运行java文件的目录下,运行java文件,以失败告终。
正确的运行方式:
使用javac -classpath “.;C:\lib\” Conn.java 编译成功
使用java -classpath “.;C:\lib\” Conn 运行成功
小知识点:classpath可以简写为 cp 即 java -cp “.;C:\lib\*” Conn
注意事项:编译时需要写classpath(如果不写的话,有些时候是不会报错的,可以正常编译),但是运行时必须写classpath,如果运行时不写classpath将会报错。 classpath后面的路径中 .; 必须写,而 * 号代表所有jar包,可以写成具体的jar包,例如:".;C:\lib\mysql-connector-java-5.1.22-bin.jar"。java文件也可以写成绝对路径,例如:C:\test\Conn.java
如果上面介绍的不是很直观,可以参考下面的图示
或者