对于JavaFX (web start)应用程序,显然您正在将一些jar文件下载到最终用户的桌面上。依赖关系越多(比如ControlsFX、Jackson,甚至是logging jar),你需要下载的就越多,即使你只使用这些依赖关系jar的一小部分,对吧?
那么有什么方法可以控制或减少使用这些依赖的JavaFX应用程序的下载大小吗?
Web start旨在下载jnlp文件中记录的所有依赖项。
如果许可证情况清楚,您可能需要查看maven-shade-plugin(当使用maven构建文件时):
https://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.htmlhttps://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html
你可以创建一些库,其中只包含你从其他依赖项中使用的类。
要使用gradle,你可能需要使用shadowJar:
- https://plugins.gradle.org/plugin/com.github.johnrengelman.shadow
- https://github.com/johnrengelman/shadow
- http://imperceptiblethoughts.com/shadow/