ProGuard版本5.3.2是否支持JavaFx?
我认为它应该支持Java 8的JavaFx,但当我运行它时,我得到了以下信息:ProGuard版本5.3.2是否支持JavaFx?,java,swing,javafx,proguard,Java,Swing,Javafx,Proguard,我认为它应该支持Java 8的JavaFx,但当我运行它时,我得到了以下信息: ProGuard, version 5.3.2 Reading input... Reading program jar [C:\Dir_myApp\dist\App.jar] Reading library jar [C:\Program Files\Java\jre1.8.0_111\lib\rt.jar] Reading library jar [C:\Program Files\Java\jre1.8.0_1
ProGuard, version 5.3.2
Reading input...
Reading program jar [C:\Dir_myApp\dist\App.jar]
Reading library jar [C:\Program Files\Java\jre1.8.0_111\lib\rt.jar]
Reading library jar [C:\Program Files\Java\jre1.8.0_111\lib\jce.jar]
Reading library jar [C:\Program Files\Java\jre1.8.0_111\lib\jfxswt.jar]
Reading library jar [C:\Program Files\Java\jre1.8.0_111\lib\jfr.jar]
Initializing...
Warning: App: can't find referenced class javafx.embed.swing.JFXPanel
Warning: App: can't find referenced class javafx.scene.media.Media
我之所以包括jfxswt.jar和jfr.jar,是因为它们看起来像javafxjar文件,我需要做些什么才能使它与[JavaFx.embed.swing.JFXPanel]和[JavaFx.embed.swing.Media]一起工作?可以使用ProGuard和JavaFx,您可能想看看javaf maven插件中的一个示例项目: 使用以下配置:
-dontoptimize
# Save meta-data for stack traces
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# Rename FXML files together with related views
-adaptresourcefilenames **.fxml,**.png,**.css
-adaptresourcefilecontents **.fxml
-adaptclassstrings
# Keep all annotations and meta-data
-keepattributes *Annotation*,Signature,EnclosingMethod
# Keep entry-point class
-keep class com.zenjava.test.javafx_and_proguard.MainApp {
public static void main(java.lang.String[]);
}
# Keep all classes inside application
-keep,allowobfuscation class com.zenjava.test.javafx_and_proguard.** {
}
# Keep names of fields marked with @FXML attribute
-keepclassmembers class * {
@javafx.fxml.FXML *;
}
编辑:为了文档的完整性,缺少pom配置部分
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>5.2</proguardVersion>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
<lib>${java.home}/lib/ext/jfxrt.jar</lib>
<lib>${java.home}/lib/jce.jar</lib>
</libs>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>5.2.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
com.github.wvengen
proguard maven插件
2.0.10
包裹
前卫
5.2
${java.home}/lib/rt.jar
${java.home}/lib/ext/jfxrt.jar
${java.home}/lib/jce.jar
net.sf.proguard
前卫基地
5.2.1
运行时
免责声明:我是javafx maven插件的维护者;) 可以使用ProGuard和JavaFX,您可能想看看javaf maven插件中的一个示例项目: 使用以下配置:
-dontoptimize
# Save meta-data for stack traces
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# Rename FXML files together with related views
-adaptresourcefilenames **.fxml,**.png,**.css
-adaptresourcefilecontents **.fxml
-adaptclassstrings
# Keep all annotations and meta-data
-keepattributes *Annotation*,Signature,EnclosingMethod
# Keep entry-point class
-keep class com.zenjava.test.javafx_and_proguard.MainApp {
public static void main(java.lang.String[]);
}
# Keep all classes inside application
-keep,allowobfuscation class com.zenjava.test.javafx_and_proguard.** {
}
# Keep names of fields marked with @FXML attribute
-keepclassmembers class * {
@javafx.fxml.FXML *;
}
编辑:为了文档的完整性,缺少pom配置部分
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>5.2</proguardVersion>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
<lib>${java.home}/lib/ext/jfxrt.jar</lib>
<lib>${java.home}/lib/jce.jar</lib>
</libs>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>5.2.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
com.github.wvengen
proguard maven插件
2.0.10
包裹
前卫
5.2
${java.home}/lib/rt.jar
${java.home}/lib/ext/jfxrt.jar
${java.home}/lib/jce.jar
net.sf.proguard
前卫基地
5.2.1
运行时
免责声明:我是javafx maven插件的维护者;) 我找到了答案,我不需要2个jar文件:jfxswt.jar&jfr.jar
但是我确实需要包括:/lib/ext/jfxrt.jar才能使它工作。我找到了答案,我不需要两个jar文件:jfxswt.jar和jfr.jar 但我确实需要包括:/lib/ext/jfxrt.jar才能让它工作