2017-08-03 1 views
1

クラスアプリケーションで外部libにcom.github.sarxos難読化proguardの-のmaven-pluginの私は「com.github.sarxos」 <p></p>私はインポートから外部libに「ウェブカメラキャプチャ」とsimlpe Javaアプリケーションを難読化しようとしています

import com.github.sarxos.webcam.Webcam; 

そしてsomwhereすべてがうまく動作しないと難読化方法

Webcam webcam = Webcam.getDefault(); 

を呼び出しますが、jarファイルを難読化した後、私はランタイムエラー持っている:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/github/sarxos/webcam/Webcamat 
    mdr.apmik.a.run(Unknown Source) 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$500(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method).... 

ここで、私のpom.xmlからproguard-maven-pluginを取得しました。私は、com.github.sarxos.webcamクラスの難読化をスキップするオプションを設定しましたが、成功しません。

<plugin> 
    <groupId>com.github.wvengen</groupId> 
    <artifactId>proguard-maven-plugin</artifactId> 
    <version>2.0.8</version> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals><goal>proguard</goal></goals> 
     <configuration> 
      <injar>${project.build.finalName}-jar-with-dependencies.jar</injar> 

     <proguardVersion>5.2</proguardVersion> 

     <options> 
     <option>-allowaccessmodification</option> 
     <option>-dontoptimize</option> 
     <option>-dontshrink</option> 
     <option>-dontnote</option> 
     <!-- <option>-dontwarn</option> added option to ignore com.sun missing classes --> 
     <option>-keepattributes Signature</option> 
     <option>-adaptclassstrings</option> 
     <option>-keep public class mdr.apmik.App { public *; public static *; }</option> 
     <!-- Exclude external lib -->    
     <option>-keep class com.github.sarxos.webcam.** { *; } </option>    
     </options> 
     <libs> 
     <lib>${java.home}/lib/rt.jar</lib> 
     </libs> 
    <dependencies> 
     <dependency> 
      <groupId>net.sf.proguard</groupId> 
      <artifactId>proguard-base</artifactId> 
      <version>5.2</version> 
      <scope>runtime</scope> 
     </dependency> 
     </dependencies> 
    </configuration> 
    </execution> 
</executions> 

私の質問は - それはそのようなライブラリとProGuardのを使用することは可能でしょうか? 「はい」の場合、Proguardを設定するにはどうすればよいですか?

答えて

関連する問題