我编写了一个Java程序并将其编译为jar文件,以便作为一个库分发,其他人将其导入到他们的Java程序中并使用它。这是一种简单的图书馆。问题是当一个人将jar文件导入Netbeans以在他们的程序中使用它时,源代码是完全可见的。他们可以打开jar文件中的类并查看所有源代码。 Netbeans是否会对源代码进行反编译或者这是如何实现的?有没有办法阻止用户在Netbeans或任何其他IDE中看到源?
答案 0 :(得分:1)
是的,Netbeans很可能预先加载了一个反编译器插件,你唯一能做的就是使用像ProGuard这样的工具来混淆jar中的所有类。
他们仍然能够反编译你的类,但是要理解你的代码实际在做什么(很大程度上取决于你的代码的复杂性)会更难。可悲的是,你不能简单地阻止反编译。
答案 1 :(得分:0)
我发现当jar被导入到开发jar本身的同一台机器上的项目时会发生这种情况。我将jar文件带到另一台PC并将其导入项目,并且代码不可见。令人困惑的是,为什么它表现得那样。我希望无论如何都不应该显示代码。谢谢你的回复。