2012-10-01 35 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实例。 –