13

我正在使用“lein uberjar”来制作我的项目的可执行 jar 文件。jar 已正确创建并按预期运行。

我只想知道是否可以在生成的 .jar 中不包含我的源 .clj 文件,因为我打算分发它,并且我不希望我的源文件可供公众使用。

我正在使用 lein 1.7.1

如果 lein 不可能,如果我只是从 jar 中手动删除 .clj 文件,它会起作用吗?我做了一个测试并且它有效,我想确保这样做是安全的。

提前致谢。

4

2 回答 2

13

:omit-source true在 lein 中使用project.clj

于 2012-05-27T00:15:28.227 回答
2

您是否尝试过使用提供的 aot 编译步骤?有关示例,请参见此处。

另外,不久前有人写了一些关于 aot 编译整个项目的博客:http: //blog.japila.pl/2012/02/aot-compile-all-namespaces-in-a-clojure-project-aot-all-在项目中-clj-leiningen/

在这种情况下,您可能仍然需要挖掘并删除 .clj 文件,我不确定。不过,也许这是一个开始的地方。

编辑 1

我应该注意,即使您要使用编译来分发 .class 文件,也有非常好的工具可以以用户可以阅读的方式反编译这些类(我过去使用过这个,当时文档很差我不得不去别处看看它是如何工作的)。

在这些情况下,您最好找到一种方法来实现自己的代码混淆器,尽管我对该主题知之甚少/一无所知,这是一个开始

于 2012-05-25T18:31:52.510 回答