【问题标题】:How to export my Java Project as external Jar without including source code如何在不包含源代码的情况下将我的 Java 项目导出为外部 Jar
【发布时间】:2012-01-15 20:00:53
【问题描述】:

所以我制作了一些提供特定 API 功能的 java 文件。我想将它们导出为可以在类路径中导入的 Jar 文件,以便使用该文件的人可以使用它的功能。

现在,当我通过 Eclipse 导出它时,它包含 jar 中的所有源文件,任何人都可以复制我的代码。有什么办法可以隐藏源代码,以便在不查看这些 java 文件的实际源代码的情况下使用 API 功能?

请建议是否可能。

谢谢,

【问题讨论】:

    标签: java eclipse jar


    【解决方案1】:

    不要将源文件放在 JAR 中。它应该只包含 .class 文件 - 编译后的字节码。

    当然,您意识到,如果他们真的想要,任何人都可以反编译您的 .class 文件并取回 .java。您必须采取非同寻常的步骤,例如加密您的 .class 文件并编写一个特殊的类加载器来解密它们。

    如果某人真的下定决心,我认为不可能阻止他们复制您的代码。对你来说是个好消息吗? 没有人想拿走你的代码

    放松并释放其中没有 .java 的 JAR。你会没事的。

    【讨论】:

    • RE:“应该只包含 .class 文件” - 使用源代码发布单独的库是一种非常常见且有用的做法。
    • 是的,这就是 Spring 所做的。 .java 文件不在部署的 JAR 中——这就是我的观点。你提出了一个很好的观点:如果 Spring 正在放弃他们的源代码,那么 OP 为什么要担心?
    • @duffymo,“对你来说是个好消息?没有人愿意拿走你的代码。”实际上这是我无视他的版权声明而侵犯了别人的代码,所以是的,有很多人可能感兴趣!
    • 现在你有另一个问题。你需要一个律师,而不是一个混淆器。
    • 这是一个奇怪的建议。
    【解决方案2】:

    当从 Eclipse 导出 jar 文件时,在向导的第二步中取消选中 Export Java source files and resources. 的复选框。

    【讨论】:

      【解决方案3】:

      请确保在 Eclipse 的“JAR 导出”对话框中未选中“导出 java 源文件和资源”选项。

      只是提一下,使用 maven 或 ant 之类的构建系统可能会更好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-22
        • 1970-01-01
        • 2012-06-05
        • 1970-01-01
        • 2016-06-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多