在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 有沒有操作 java 源碼的工具

有沒有操作 java 源碼的工具

就像有些 orm 工具,將數(shù)據(jù)庫(kù)表結(jié)構(gòu)生成 POJO 類。我想做的東西需要一個(gè)能夠讀取 java 源碼,和生成 java 源碼的工具,有人寫過這種東西么?搜索我都不知道該搜啥。

生成 java 文件

IDEA 這個(gè)工具在這些地方就表現(xiàn)非常出色,比如反編譯 class,java 轉(zhuǎn) kotlin,就是不知道是怎么實(shí)現(xiàn)的,是否開源。
目前找到一個(gè) :https://github.com/square/jav...

讀取 java 文件

對(duì)于一個(gè) java 文件,我想從中獲取一些信息,比如那個(gè)方法調(diào)用了哪個(gè)方法之類的,有沒有什么工具。

之所以不反編譯 class 是因?yàn)榫植孔兞棵麑?duì)我也很重要,如果有方便的方法操作字節(jié)碼也是考慮的范圍。

可編程的接口

我這里說的工具不是一個(gè)額外的程序,而是能夠讓我用編程的方式操作 java 文件的工具 jar 包。

回答
編輯回答
賤人曾

1、Java反編譯插件 —— Jadclipse

JadClipse是Jad的Eclipse插件,是一款非常實(shí)用而且方便地Java反編譯插件,我們只需將下載的插件包復(fù)制到eclipse的plugins目錄下,然后修改window -> Preferences -> Java -> JadClipse 下的Path to decompiler ,如:C:pinjadnt158jad.exe,最后在Windows -> Perference -> General -> Editors -> File Associations中修改“*.class”默認(rèn)關(guān)聯(lián)的編輯器為“JadClipse Class File Viewer” 即可。

官方網(wǎng)站:http://sourceforge.net/projec...

2、Java反編譯工具 jad

jad是一款使用非常廣泛地Java反編譯工具,上面這款Jadclipse就是基于jad的反編譯插件,JAD 文件包含 MIDlet 套件的標(biāo)題信息,例如開發(fā)應(yīng)用程序的公司、應(yīng)用程序名稱和大小。
官方網(wǎng)站:http://varaneckas.com/jad/

3、Java 反編譯器 JD-GUI

JD-GUI 是一個(gè)用 C++ 開發(fā)的 Java 反編譯工具,由 Pavel Kouznetsov開發(fā),支持Windows、Linux和蘋果Mac Os三個(gè)平臺(tái)。而且提供了Eclipse平臺(tái)下的插件JD-Eclipse。JD-GUI不需要安裝,直接點(diǎn)擊運(yùn)行,可以反編譯jar,class文件。

官方網(wǎng)站:http://jd.benow.ca/

4、Java反編譯器 jdec

jdec是一個(gè)Java反編譯器。它能夠把出現(xiàn)在一個(gè).class文件中的字節(jié)碼還原成Java源代碼,反編譯的結(jié)果幾乎與原始Java文件相同。它還自帶一個(gè)利用swing開發(fā)的用戶操作界面。

官方網(wǎng)站:http://jdec.sourceforge.net/

5、uuDeJava

uuDeJava是Java Class文件的反編譯工具。反編譯的Java源程序被輸出到Class的相同目錄。內(nèi)部使用jad.exe。反編譯Class文件時(shí),可以直接點(diǎn)擊Class文件(關(guān)聯(lián)后),或者選中文件或目錄發(fā)送到uuDeJava的快捷方式。還可以拖動(dòng)文件或目錄到uuDeJava的主窗口。

官方網(wǎng)站:http://www.uuware.com/uudejav...

6、Java 反向工程軟件 Minjava

Minjava 是一個(gè) Java 反向工程軟件,可幫助理解已存在一些 Java 軟件的架構(gòu)和行為。

官方網(wǎng)站:https://code.google.com/p/min...

7、Java Decompiler

這款反編譯器叫 “Java Decompiler”, 由 Pavel Kouznetsov開發(fā),目前最新版本為0.2.5. 它由 C++開發(fā),并且官方可以下載 windows、linux和蘋果Mac Os三個(gè)平臺(tái)的可執(zhí)行程序。

http://www.oschina.net/projec...
http://blog.csdn.net/r3t7o7/a...

2017年8月8日 04:21
編輯回答
冷眸

1、java反射
2、cglib
3、asm/javassist

2018年7月6日 21:52
編輯回答
話寡

jclasslib 可以直接修改class文件

2018年8月16日 22:18