4

Webプロジェクトのファイルを難読化するProguardMavenプラグインを作成できません。Stackoverflowでいくつかの解決策を試しました-運がありません。

私の実際のアプリケーションはMavenにパッケージ化されたVaadinベースですが、問題を説明するために、サンプルのデモプロジェクトhttps://github.com/taskadapter/projectXを作成しました。私の最終目標は、すべてのMavenモジュール(「util」など)とWebアプリコード(「SomeImportantHiddenClass」など)を難読化したWebアプリケーションWARファイルを作成することです。

ビルドは次のように失敗します:

[proguard]エラー:入力にクラスが含まれていません。適切な「-injars」オプションを指定しましたか?

http://maksim.sorokin.dk/it/2010/08/23/obfuscating-several-jars-in-one-single-maven-build-with-proguard/を見ましたが、これは私には意味がありません。プロジェクト内のすべてのMavenモジュールで個別にproguardプラグインを実行した場合、同じプロジェクト内の他のモジュールがすべて「混乱」している場合、どのようにして必要なクラスを見つけるのでしょうか。

ルートpom.xmlまたはWebモジュールのいずれかにproguard実行を追加する必要があると思います。これは、実際にWARファイルにコンテンツをパッケージ化します(GitHubのプロジェクトを参照)。

「injar」オプションを使用すると、難読化プロセスにJarを追加できますが、プラグインがモジュールを見つけて、「../ util / target/util.jar」のような「injar」値をハードコーディングせずに難読化することを期待していました。

さらに、proguardのドキュメントには、「injars」オプションについては何も記載されておらず、「injar」構成パラメーターについてのみ説明されています。この場合、どちらも機能しません。

また、Proguardがクラスを見つけることができないと言っているのを見ましたが、すべてのクラスを「web」Mavenモジュールから別のモジュールに移動することが正しい解決策であり、とにかく機能するかどうかはわかりません。頑張ります...

4

0 に答える 0