jdk的java和javac命令


  jdk的java命令有些參數之前一直是模糊的,今天弄清晰了,記錄一下!

  首先說一下classpath 這個不但包含要依賴的包,而且還包含自己寫了的類以及main類

  window: 

    -classpath <目錄和 zip/jar 文件的類搜索路徑>
                  用 ; 分隔的目錄, JAR 檔案
                  和 ZIP 檔案列表, 用於搜索類文件。

  linux:

    -classpath <目錄和 zip/jar 文件的類搜索路徑>
                  用 : 分隔的目錄, JAR 檔案
                  和 ZIP 檔案列表, 用於搜索類文件。

 

比如一個很常見的jdbc驅動測試(oracle),要依賴一個oracle驅動包              

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.PreparedStatement;
 4 import java.sql.ResultSet;
 5 import java.sql.SQLException;
 6 
 7 public class OracleTest {
 8 
 9     private static String driver = "oracle.jdbc.driver.OracleDriver";
10     private static String url = "jdbc:oracle:thin:@//192.168.1.20:1521/orcl2";
11     private static String username = "satp";
12     private static String password = "satp";
13 
14     private void query(String sql) {
15         try {
16             Class.forName(driver);
17             Connection conn = DriverManager.getConnection(url, username, password);
18             PreparedStatement pstmt = conn.prepareStatement(sql);
19             ResultSet rs = pstmt.executeQuery();
20             while (rs.next()) {
21                 int name = rs.getInt(1);
22                 System.out.println(name);
23             }
24             rs.close();
25             pstmt.close();
26         } catch (ClassNotFoundException e) {
27             e.printStackTrace();
28         } catch (SQLException e) {
29             e.printStackTrace();
30         }
31     }
32     
33     public static void main(String[] args) throws SQLException {
34         OracleTest t = new OracleTest();
35         t.query("select 1  from dual");
36     }
37 }

window10下測試:

1.javac編譯

E:\jtest>ls
OracleTest.java ojdbc14-10.2.0.4.0.jar

E:\jtest> javac -cp .\ojdbc14-10.2.0.4.0.jar OracleTest.java

2.java執行

### 第一次失敗  沒有將當前目錄添加到cp里
E:\jtest> java -cp .\ojdbc14-10.2.0.4.0.jar OracleTest 錯誤: 找不到或無法加載主類 OracleTest
###第二次成功 E:\jtest
> java -cp .;.\ojdbc14-10.2.0.4.0.jar OracleTest 1

 

帶包編譯測試

OracleTest.java添加上package oo;
###
jtest
--|ojdbc14-10.2.0.4.0.jar
--|oo
  --|OracleTest.java

E:\jtest>ls ojdbc14-10.2.0.4.0.jar oo E:\jtest>cd oo E:\jtest\oo>ls OracleTest.java E:\jtest\oo>cd .. E:\jtest> javac -cp .\ojdbc14-10.2.0.4.0.jar oo\OracleTest.java E:\jtest> java -cp .;.\ojdbc14-10.2.0.4.0.jar oo.OracleTest 1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM