我正在尝试使用Proguard混淆javafx项目,这是一个独立的桌面应用程序。
问题: 在执行输出jar文件时,只显示一个空白窗口,而不是完整的GUI。来自jar的输出在这里。 screenshot - obfuscated jar file
依赖项(实现,扩展)的项目结构图Proguard配置设置(使用ProGuard GUI生成)如下:
-injars 'C:\Users\MyPC\Documents\NetBeansProjects\MyApp10Feb\dist\MyApp10Feb _obfusInput.jar'
-outjars 'C:\Users\MyPC\Documents\NetBeansProjects\MyApp10Feb\dist\MyApp10Feb _obfusOutput.jar'
-libraryjars 'C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar'
-libraryjars 'C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar'
-libraryjars 'C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\apache-httpcomponents-httpclient.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\apache-httpcomponents-httpcore.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\commons-beanutils-1.8.0.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\groovy-all-2.0.1.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\h2-1.4.193.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\iText-2.1.7.js2.jar'
-libraryjars 'E:\Berky\Jar Files\Jars required for project\jasperreports-5.6.0.jar'
-dontskipnonpubliclibraryclassmembers
-dontshrink
-dontoptimize
-allowaccessmodification
-dontusemixedcaseclassnames
-repackageclasses p
-printmapping 'C:\Users\MyPC\Desktop\ProjectWork\TestFolder\MyApp10Feb_proguard.txt'
-keepattributes javafx.fxml.FXML,Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-adaptresourcefilecontents **.fxml,**.properties,META-INF/MANIFEST.MF,images/*.jar,publicCerts.store,production.version
-keepclassmembers class * {
@javafx.fxml.FXML
<fields>;
@javafx.fxml.FXML
<methods>;
}
-keep class * extends com.myapp.Test,com.myapp.ScreensController,com.myapp.report.PrintReport{
public *;
}
# Keep - Applications. Keep all application classes, along with their 'main'
# methods.
-keepclasseswithmembers public class com.javafx.main.Main,com.myApp.Test {
public static void main(java.lang.String[]);
}
有人可以建议进行哪些更改以使混淆的jar文件正常工作吗?感谢您对此的关注。