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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java文件编译_【java】javac编译多个有依赖关系的java文件为class文件

發布時間:2024/4/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java文件编译_【java】javac编译多个有依赖关系的java文件为class文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歷史文章:

【javac命令不能使用,提示不是內部命令或外部命令,請查看歷史文章】

=================需求說明==========================

之前的文章中,僅說明了單個的java文件,沒有多的外部依賴的單個java文件編譯成class文件。

1.現在有個需求:

在使用一個mybatis-gen-1.2.jar包完成 自動代碼生成過程中,【jar包中全是已經編譯好的class文件】發現某個地方的源碼寫的有問題。

現在需要通過將class文件反編譯成 java文件,修改源碼后,再將java文件編譯成可以使用的class文件,以完成這次需求。

2.可以看到,jar包中的文件全是編譯的class文件

===================處理方式========================

1.將class文件拖拽至 IDEA中,就可以看到源碼了

2.將class文件中的內容,拷貝到一個新建的同名java文件中,然后可以進行修改源碼的操作

【因為class文件中的源碼無法直接修改,因此將整個文件中的源碼拷貝至? 一個新建的同名java文件中】

現在代碼可以操作了,就直接刪除問題代碼行

3.現在,按照源碼的包路徑,在任意的一個文件下,按照包路徑創建層級目錄,再將文件放入對應目錄中

4.這個時候,單獨執行編譯命令,是不能成功編譯文件的,因為本源文件還依賴了其他幾個源碼文件

從剛剛的源碼可以看出來,本文件是依賴了其他幾個文件的:

5.所以,需要將本文件依賴的其他幾個源碼文件,按照相同的方式,打開class文件,新建同名java文件,復制源碼到同名java文件,然后創建對應的包路徑,將java文件放入對應位置

6.分別放置完成后,新創建一個source.txt文件,將多個需要編譯class的java文件,完整路徑放在source文件中,注意,文件之間有依賴關系的話,將被依賴的文件放在前面,依賴別的文件的放在后面,保證編譯的順序

7.最后,cmd進入到source.txt文件所在路徑,執行javac命令,開始編譯工作

javac -encoding utf-8 @source.txt -Xlint:unchecked

注意加上參數:

-Xlint:unchecked

以保證取消驗證,順利編譯成功

注意,source.txt文件前面有一個@符號

編譯完成,就可以看到各個目錄下,已經生成的class文件

8.最后,將編譯好的class文件,放入jar包中,替換原本有問題的class文件

9.完成【多個有依賴關系的class文件,復制轉化成java文件,修改完源碼并重新編譯成class文件的】操作!!!

總結

以上是生活随笔為你收集整理的java文件编译_【java】javac编译多个有依赖关系的java文件为class文件的全部內容,希望文章能夠幫你解決所遇到的問題。

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