javajarclass
進入調試狀態,按步進一步步執行,可以獲取當前JAR所在類的文件中執行的狀態,但只能看其狀態,不能修改,不過也可以找到問題所在了
補充一點,需要在調用jar包的函數前加斷點,這樣就可以快速定位了
Ⅱ java 怎麼import一個jar包裡面的class
先將jar復制到項目裡面然後對jar包右擊,buildPath即可導入
Ⅲ 運行jar文件中的class文件,需要在java命令後面加參數
需要在java命令後面加的參數為 -cp
Ⅳ JAVA中JAR ClassLoader綜合應用
貌似沒有能實現你目的的classloader,URLClassLoader只能裝載jar文件,而java中的文件沒有純以內存作為存儲介質的。如果一定要實現可以這樣,但是工作量會比較大。
1. String解碼轉成byte[]
2. 用ZipInputStream把byte[](也就是.jar)里的所有文件項目都讀出來存成byte[],文件名(也就是類名)也要保存
3. 自己寫一個classloader,裝載類的時候根據2中保存的類名裝載byte[],達到載入類的功能
另外,2這一步也可以省略,每次需要裝載類的時候都重新對ZipInputStream掃描,找到需要的類並裝載,只不過這種方式性能會比較差,但相對2來說消耗內存少,各有利弊。
Ⅳ JAVA 語言中IDE,JDK,JRE是什麼,JAR,JAVA,CLASS文件中分別是什麼東西
ide:是集成開發環境,表現為一個圖形界面程序,可以用來編輯源文件,編譯,調試java程序;
jdk:java開發工具集,包含很多程序,那些程序可以對編譯,打包,運行java程序。
jre:就是一個虛擬機程序,可以運行編譯好的java程序;
jar:打包程序,類似rar;
class:類或者說類文件。java源文件編譯後會生成類文件。
再詳細的可以分別搜各個關鍵字。
Ⅵ 如何修改jar包裡面的 class文件
該過程需要經歷四個步驟:解壓,反編譯,修改,打包。
解壓:jar文件和我們平常的rar和zip文件一樣是屬於壓縮文件,通過一般的解壓縮工具(例如:winrar)都能解壓。解壓之後生成的文件為**.class的位元組碼文件。
反編譯:互聯網上有很多的位元組碼文件反編譯工具(例如:jad)。他能夠將**.class文件或者直接能夠將jar文件反編譯為**.java文件。
得到java文件以後就可以修改裡面的源代碼了。
將修改好的代碼編譯成**.class位元組碼文件以後再添加替換掉原來jar包中的class文件,或者重新將修改後的java代碼轉換成java工程,再生成jar文件都行。
這個過程的完成需要熟悉java基礎,編譯環境等相關知識。尤其是對jar包的理解很重要。反編譯在互連網上就能直接找到很多工具。打包則很簡單不做累述。
Ⅶ java jar包 部署的時候沒有生成class 為什麼
假設包含main()方法的那個類生成的class為MyMain.class。 首先在class所在目錄里新建文本文件:mymanifest.text,在該文件中寫入: Main-Class: MyMain 然後保存。注意冒號後有空格,MyMain後邊換行。
Ⅷ java的打包後jar包裡面的class文件都能被反編譯成為源碼嗎
普通的class文件可以通過工具反編譯jd-gui,不過加密之後的就不是那麼容易了。
Ⅸ java 確定 class 是 哪個 jar
要點是用Class.getResource方法來獲取該類文件的位置:
復制代碼
public class Foo
{
public static void main(String[] args)
{
System.out.println(Foo.class.getResource("Foo.class"));
}
}
復制代碼
如果是.class文件啟動:
file:/C:/Users/Jon/Test/com/whatever/Foo.class
如果是從jar包啟動:
jar:file:/C:/Users/Jon/Test/foo.jar!/com/whatever/Foo.class
Ⅹ java小程序的jar,java,class 這三個有什麼區別
jar是打包生成的文件,和RAR壓縮文件差不多.
java是JAVA的源文件,可以編譯成class文件.
class是JAVA編譯後生成的位元組碼文件,就是可以運行的文件了.