2015-07-23 2 views
0

Я написал программу Java и скомпилировал ее в jar-файл для распространения в качестве библиотеки, которую другие импортируют в свою программу Java и используют ее. Это своего рода простая библиотека. Проблема заключается в том, что один из них импортирует файл jar в Netbeans, чтобы использовать его в своей программе, исходный код полностью виден. Они могут открывать классы в файле jar и видеть весь источник. Netbeans декомпилирует источник или как это возможно? Есть ли способ предотвратить просмотр пользователями источника в Netbeans или любой другой среде IDE?источник в файле jar visible

+0

Связанный: http://stackoverflow.com/questions/4822824/jar-file-prevent-access-to-source-code –

+0

Включает ли код исходные комментарии и имена локальных переменных? Если это так, он не декомпилируется из байт-кода. – Wyzard

+0

Как сказал @Wyzard, другая возможность заключается в том, что вы ошибочно упаковали исходный код вместе с скомпилированными файлами .class. – Kai

ответ

1

Да, вполне вероятно, что Netbeans поставляется с предустановленным плагином декомпилятора, единственное, что вы можете сделать, это обфускать все классы в вашей банке с помощью инструмента, такого как ProGuard.

Они все равно смогут декомпилировать ваши классы, но будет сложнее понять, что делает ваш код на самом деле (сильно зависит от сложности вашего кода). К сожалению, вы не можете просто предотвратить декомпиляцию.

+1

Декомпиляция запрещена в некоторых странах. Просто говорю' –

0

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

Смежные вопросы