Смешивание Maven Shade с Proguard - PullRequest
       14

Смешивание Maven Shade с Proguard

0 голосов
/ 16 октября 2018

Я пытаюсь сделать сложную сборку с Maven Shade и Proguard.Дело в том, что я хочу только запутать свой код и некоторые связанные библиотеки (объявленные в pom как зависимости), в pom.xml присутствует больше библиотек, но я не хочу обрабатывать их с помощью Proguard.

Мой текущий подход заключается в следующем:

  1. Используйте maven shade, чтобы сгенерировать Jar с зависимостями, которые я хочу скрыть вместе с моим кодом.(execution binded to package phase)
  2. Используйте Proguard, чтобы запутать код.(execution binded to package phase)
  3. Добавьте недостающие зависимости (Storm и т. Д.) В финальную версию Jar посредством второго выполнения maven shade.(execution binded to verify phase)

Дело в том, что на третьем шаге (второй shade) я получаю в окончательном Jar как обфусцированные пакеты, так и необфусцированные.

Более того, я также попытался переименовать через shade пакеты на первом шаге, но то же самое происходит, необъяснимый код вместе с обфусцированными переименованными жизнями в толстом Jar.

Еще одна вещь, которую я попробовал, - исключить несобранные пакеты во втором shade, но тогда я не получаю никакого кода с предыдущих шагов, только внешние библиотеки.

Какие-либо подсказки или различные подходы, которые следует учитывать?

1 Ответ

0 голосов
/ 17 октября 2018

Только что решил это через конфигурацию Proguard, только включив в фазу запутывания те библиотеки, которые я должен запутать (используя регулярные выражения для выбора package).

Например:

`-keep class !com.xxx.**{**}, !com.yyyy.*{**}

Спасибо

...