我可以将Java编译成共享库(.so)并通过Java中的System.load()函数加载它吗?

时间:2016-10-02 11:25:28

标签: java java-native-interface shared-libraries

我可以将java编译成共享库(.so)并通过Java中的System.load()函数加载吗?我想这样做的原因是我不希望其他人可以反转我的java代码。我想保密一些java代码。

任何建议表示赞赏!如果可行,你能举个例子吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

使Java代码可执行但不可能进行逆向工程并非易事,我建议不要使用这样的技术解决方案。

您通常有两种选择:

  • 执行"您不得对我的代码进行反向工程"在许可证中。换句话说,使其成为政治解决方案而非技术解决方案。这通常最适合付费客户。

  • 让您需要在其他地方保密的代码。执行此操作的典型方法是让程序通过您控制的服务器上的Web服务调用密码。

对于Java,Jersey JAX-RS实现对我们很有用。