2012-10-01 34 views
1

如果我要發佈一個實用程序,它對核心Java類(sun。*)執行字節碼操作,我應該擔心許可問題嗎?Java字節碼操作 - 授權問題?

爲了提供更多的背景:爲了有一個自動化迴歸測試套件運行,我們需要注入我們自己MockSystem.currentMillis()落實到哪裏原java.lang.System.currentMillis()被調用。

當我想到這個小工具將是許多開發商有用的,我現在想,如果有,當我(去到定)所涉及的任何許可問題MIT許可的代碼操縱許可,否則代碼。

+0

你有沒有考慮過這個問題:http:// stackoverflow。com/questions/2001671/override-java-system-currenttimemillis –

+0

是的,我們有。事實上,有計劃要完成這項工作 - 但是一如既往,這需要時間,字節碼操作庫爲我們提供了堅實的基礎。 – suls

回答

0

我從java許可證得到了這個。隨心所欲地閱讀。

F. JAVA技術限制。您可能無法創建,修改或變更的行爲,或授權您的被許可人創建,修改或改變,類,接口或子包是在確定爲「Java」的,「使用javax」任何方式的行爲,「太陽「,」甲骨文「或Oracle在任何命名約定中指定的類似約定。

+0

如果您可以提供此鏈接至 –

+0

[此](http://www.oracle.com/technetwork/java/javase/terms/license/index.html)是許可證,那將是非常好的。但它只適用於您選擇下載,安裝或使用的二進制形式的「Java軟件」。「因此,它禁止我們從JRE發行版中替換或修改'System.class'二進制文件,但不禁止在內部執行某些Java代碼期間內存中替換/修改System類的運行時映像一個正在運行的JVM實例。 –