Подтвердить что ты не робот

Make lein uberjar без исходных файлов

Я использую "lein uberjar" для создания исполняемого файла jar моего проекта. банка создается правильно и работает как ожидалось.

Я просто хочу знать, можно ли НЕ включать мои исходные .clj файлы в сгенерированный .jar, так как я планирую его распространять, и я не хочу, чтобы мои исходные файлы были доступны для публики.

Я использую lein 1.7.1

если это невозможно с lein, будет ли это работать, если я просто удалю вручную .clj файлы из банки? Я сделал тест, и это сработало, я хочу быть уверенным, что это безопасно.

заблаговременно.

4b9b3361

Ответ 1

Используйте :omit-source true в lein project.clj.

Ответ 2

Пробовали ли вы использовать шаг компиляции aot? См. здесь для примера.

Кроме того, кто-то недавно написал кое-что из того, что собирал весь проект: http://blog.japila.pl/2012/02/aot-compile-all-namespaces-in-a-clojure-project-aot-all-in-project-clj-leiningen/

В этом случае вам все равно придется вставлять и удалять файлы .clj, я не уверен. Возможно, это где-то начать.

Изменить 1

Я должен отметить, что даже если вы должны использовать компиляцию, чтобы просто распространять файлы .class, есть действительно хорошие инструменты для декомпиляции этих классов таким образом, что пользователи могут читать (я использовал это в прошлом, когда документация была настолько бедной, мне пришлось искать в другом месте, чтобы увидеть, как она работает).

В таких случаях вам будет лучше найти способ реализовать свой собственный обфускатор кода, хотя я мало знаю об этой теме, здесь начать.