【发布时间】:2012-01-15 20:00:53
【问题描述】:
所以我制作了一些提供特定 API 功能的 java 文件。我想将它们导出为可以在类路径中导入的 Jar 文件,以便使用该文件的人可以使用它的功能。
现在,当我通过 Eclipse 导出它时,它包含 jar 中的所有源文件,任何人都可以复制我的代码。有什么办法可以隐藏源代码,以便在不查看这些 java 文件的实际源代码的情况下使用 API 功能?
请建议是否可能。
谢谢,
【问题讨论】:
所以我制作了一些提供特定 API 功能的 java 文件。我想将它们导出为可以在类路径中导入的 Jar 文件,以便使用该文件的人可以使用它的功能。
现在,当我通过 Eclipse 导出它时,它包含 jar 中的所有源文件,任何人都可以复制我的代码。有什么办法可以隐藏源代码,以便在不查看这些 java 文件的实际源代码的情况下使用 API 功能?
请建议是否可能。
谢谢,
【问题讨论】:
不要将源文件放在 JAR 中。它应该只包含 .class 文件 - 编译后的字节码。
当然,您意识到,如果他们真的想要,任何人都可以反编译您的 .class 文件并取回 .java。您必须采取非同寻常的步骤,例如加密您的 .class 文件并编写一个特殊的类加载器来解密它们。
如果某人真的下定决心,我认为不可能阻止他们复制您的代码。对你来说是个好消息吗? 没有人想拿走你的代码。
放松并释放其中没有 .java 的 JAR。你会没事的。
【讨论】:
当从 Eclipse 导出 jar 文件时,在向导的第二步中取消选中 Export Java source files and resources. 的复选框。
【讨论】:
请确保在 Eclipse 的“JAR 导出”对话框中未选中“导出 java 源文件和资源”选项。
只是提一下,使用 maven 或 ant 之类的构建系统可能会更好。
【讨论】: