【问题标题】:source in jar file visible [duplicate]jar 文件中的源代码可见 [重复]
【发布时间】:2015-08-03 22:36:11
【问题描述】:

我编写了一个 Java 程序并将其编译为 jar 文件以作为库分发,其他人将其导入到他们的 Java 程序中并使用它。它是一种简单的库。问题是当将 jar 文件导入 Netbeans 以在他们的程序中使用它时,源代码是完全可见的。他们可以打开 jar 文件中的类并查看所有源代码。 Netbeans 是否在反编译源代码或者这怎么可能?有没有办法阻止用户在 Netbeans 或任何其他 IDE 中看到源代码?

【问题讨论】:

  • 代码中是否包含原始的 cmets 和局部变量的名称?如果是这样,它不是从字节码反编译的。
  • 正如@Wyzard 所说,另一种可能性是您错误地将源代码与编译的 .class 文件一起打包。
  • 不,源不直接包含在jar中。当我解压缩它时,它里面只有 *.class 文件。但是,确保它包含所有 cmets 和变量声明,一切。

标签: java netbeans jar


【解决方案1】:

是的,Netbeans 很可能预装了反编译器插件,您唯一能做的就是使用ProGuard 之类的工具来混淆 jar 中的所有类。

他们仍然能够反编译您的类,但是要理解您的代码实际在做什么会更加困难(很大程度上取决于代码的复杂性)。遗憾的是,您不能简单地阻止反编译。

【讨论】:

  • 部分国家禁止反编译。只是说'
【解决方案2】:

我发现当 jar 被导入到开发 jar 本身的同一台机器上的项目时会发生这种情况。我将jar文件带到另一台PC并将其导入到项目中,可惜代码不可见。令人困惑的是为什么它会这样。我希望无论如何它都不应该显示代码。感谢您的回复。

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2016-09-15
    • 2019-03-22
    • 2012-07-01
    • 2015-12-13
    • 2020-03-17
    相关资源
    最近更新 更多