2013-11-26 3 views
2

В настоящее время я планирую сделать плагин eclipse, и одна из его функций потребует от меня блокировки определенного кода.Скрыть/Ограничить/Защитить код в Eclipse

i.e, если человек устанавливает его так, чтобы код А был заблокирован, человек два не может изменить какой-либо из этого кода, а также если человек скрывает код человека, то два не могут видеть код, но он все равно должен работать. Так что он все еще должен компилироваться, даже если человек два не может видеть/изменять код человека, который написал.

Кто-нибудь знает, возможно ли это, используя плагин eclipse? Если да, то какие идеи? В настоящее время я изучаю, как создавать плагины, чтобы это было огромной помощью, если бы кто-то указал мне правильное направление.

Спасибо.

+0

Это звучит как ужасное требование. Зачем кому-то это нужно? –

+1

В основном он используется для обучения, поэтому учитель не хочет, чтобы учащийся имел доступ к важному коду, который мог бы быть ответом на что-то. – Ramis

ответ

0

Возможно, вы можете ознакомиться с исходным кодом Mylyn за Task-Focused UI для сокрытия.

Но если есть место для размышлений о самом требовании:

  • проверить, как далеко вы можете получить с механизмы блокировки инструментов SCM
  • сплит проектов и внедрение зависимостей без источника
  • быть в курсе, что скомпилированный класс Java всегда может быть обратной инженерии до некоторой степени

[Update]

Вариант 1:

Для вашего случая использования, я думаю, вы должны держать его просто:

  • Используйте обфускатор
  • только обеспечивают бинарные файлы (баночка или файлы классов) + JavaDoc

Вариант 2:

  • вы можете попробовать ввести стадию предварительной компиляции/пользовательский построитель расшифровать ваш источник (Щелкните правой кнопкой мыши по проекту: Свойства> Builders)

[Примечание] Это напоминает мне обратно в время моих собственных исследований. Была поставлена ​​задача реализовать ИИ, который находит путь через изначально неизвестный лабиринт. Конечно, было короткое сокращение: мгновенное изучение через Java Reflections. Скрывая что-то от ваших учеников, они могут любопытствовать о неправильном ведении от первоначальной задачи. Но это может быть способ найти талантливых. :-)

+0

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

+0

Другая идея, которую я выбрал, заключается в том, что пользователь выбирает, позволяет отображать строки 2-5, пока остальная часть файла скрыта. Я мог бы извлечь эти 3 строки, а затем зашифровать фактический файл. При компиляции я мог просто вставить 3 строки, которые они могли бы изменить, и вставить их в файл. Я просто не уверен, что плагин может все это сделать? – Ramis

+0

Итак, вы хотите расшифровать исходный код перед его компиляцией. Это касается цепочки инструментов построения. И это все еще зависит от языка. –

0

Можете ли вы поместить код, который хотите защитить в библиотеке, и развернуть его в другой команде в виде двоичного файла jar? Это далеко не идеально, учитывая, насколько хороши java-декомпиляторы, но, возможно, этого будет достаточно?

Это вопрос доверия или безопасности? Если дело не в том, что некоторые члены команды не доверяют коду, не могли бы вы что-то не использовать в своем репозитории кода. Например, в нашем SVN-репо нам не разрешено совершать код без соответствующего билета #.