原班是這樣的:如何動態地覆蓋靜態代碼塊中的Java類文件
public class Test{ static { System.loadLibrary("hello"); } ... }
我想將它更改爲:
public class Test{ static { System.load("/home/abc/libhello.so"); } ... }
的的Test.class是在jar文件。我無法更改jar文件。任何方式來做到這一點?
原班是這樣的:如何動態地覆蓋靜態代碼塊中的Java類文件
public class Test{ static { System.loadLibrary("hello"); } ... }
我想將它更改爲:
public class Test{ static { System.load("/home/abc/libhello.so"); } ... }
的的Test.class是在jar文件。我無法更改jar文件。任何方式來做到這一點?
否。如果您需要更改代碼的行爲方式,則需要更改代碼。爲什麼你不能更改jar文件?
Test.class
是您的Test.java
文件的編譯版本。如果您想更改程序的行爲,則必須在Test.java
文件中對其進行更改並重新編譯它。
這是公司政策,jar文件是由另一個團隊提供的,他們不會爲我們做任何定製 – Hebing
我想他只有.class文件 – damluar
@damluar:那麼他不應該試圖改變代碼... –
但我們不能在字節碼級別上做到這一點嗎? – damluar