日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

javac、jar使用实录

發布時間:2025/4/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javac、jar使用实录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因項目管理部署需要,記錄一下過程,以免下次忘記了,再次使用又需要重頭再來,只記錄正確的操作方式,可能會提到某些錯誤

?

建立項目所在目錄F:\www

案例一

其下建立項目的java源文件的包目錄結構、java源文件

com\test\hello\HelloWorld.java,代碼如下:

1 package com.test.hello; 2 3 public class HelloWorld{ 4 5 public void say(){ 6 System.out.println("hello world !"); 7 } 8 9 }

?

com\test\people\People.java,代碼如下

1 package com.test.people; 2 3 import com.test.hello.*; 4 5 public class People{ 6 7 public void say(){ 8 HelloWorld hello=new HelloWorld(); 9 hello.say(); 10 } 11 12 public static void main(String[] args){ 13 People people=new People(); 14 people.say(); 15 } 16 17 }

?

從控制臺進入F:\www目錄下,運行如下兩條命令,控制臺輸出正確結果

javac com/test/people/People.java com/test/hello/HelloWorld.java java com/test/people/People

?

說明1:

從源文件中可以發現,在People.java中引用HelloWorld,然而javac編譯語句寫為如下語句也是可以的(源文件的順序相反)

javac com/test/hello/HelloWorld.java com/test/people/People.java

這是否可以說明javac編譯語句中源文件的引用順序無關?【等待驗證】

?

說明2:

上述的編譯命令換為如下語句也是可以的,注意是在F:\www目錄下

javac com/test/people/People.java

但是如果進入到people目錄下,則無法編譯

進入test目錄下,鍵入如下語句也可以編譯

javac people/People.java hello/HelloWorld.java

但是運行卻必須在F:\www目錄下

?

案例二

從控制臺進入F:\www目錄下,在案例一的基礎上(主要是需要其中編譯后的某些.class文件,看下面的命令就會明白),運行如下命令,將com/test/hello/HelloWorld.java打包為hello.jar文件,以此來測試在程序中引用第三方jar包時程序的編譯與運行

jar cf hello.jar com/test/hello/HelloWorld.class

此時在F:\www目錄下會得到hello.jar文件

接著鍵入jar tvf hello.jar命令,回車,可查看hello.jar的內容結構

再接著刪除項目的hello目錄(包括其下的文件),鍵入如下命令運行程序,控制臺輸出正確結果

java -cp .;hello.jar com/test/people/People

?

說明:

在上述刪除hello目錄時,可刪除people目錄下的People.class文件,鍵入如下命令進行編譯

javac -cp hello.jar com/test/people/People.java

接著鍵入上面的運行命令,控制臺輸出正確結果

?

下面接著做一些其他的測試,我會慢慢更新

大家如果看到其他情形麻煩告知,省的我慢慢去測試,O(∩_∩)O謝謝

?

案例三

引用多個第三方jar包的情況

?

在F:\www目錄下新建org/apache/service/Work.java,代碼如下:

1 package org.apache.service; 2 3 public class Work{ 4 5 public void writeCode(){ 6 System.out.println("I should write java code everyday !"); 7 } 8 9 }

鍵入如下命令,進行編譯、打包,在F:\www目錄下得到apache-service_1.0.jar

javac org/apache/service/Work.java
jar cf apache
-service_1.0.jar org/apache/service/Work.class

刪除org目錄,修改People.java源代碼如下:

1 package com.test.people; 2 3 import com.test.hello.*; 4 import org.apache.service.*; 5 6 public class People{ 7 8 public void say(){ 9 HelloWorld hello=new HelloWorld(); 10 hello.say(); 11 Work work=new Work(); 12 work.writeCode(); 13 } 14 15 public static void main(String[] args){ 16 People people=new People(); 17 people.say(); 18 } 19 20 }

鍵入如下命令,進行編譯、運行,控制臺輸出正確結果

javac -cp hello.jar;apache-service_1.0.jar com/test/people/People.java java -cp .;hello.jar;apache-service_1.0.jar com/test/people/People

?

?

至此差不多測試完畢

?

轉載于:https://www.cnblogs.com/studyLog-share/p/4669835.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的javac、jar使用实录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。