我正在尝试使用Batik库源,我只想使用代码转换器将SVG文件转换为仅PNG或JPEG。 Batik Rasterizer的发行版本大约是55k,但是当我导出jar文件时它的7兆。我可以只使用代码转换器而不是库中的所有罐子吗?我在Coldfusion中加载jar文件。仅使用分发版本会更有意义吗?
答案 0 :(得分:3)
这是使用batik-transcoder
的{{1}} 1.6-1的依赖关系树:
mvn dependency:tree -Dverbose
如果您使用maven,则可以将某些依赖项设置为[INFO] +- batik:batik-transcoder:jar:1.6-1:compile
[INFO] | +- batik:batik-bridge:jar:1.6-1:compile
[INFO] | | +- batik:batik-gvt:jar:1.6-1:compile
[INFO] | | | \- batik:batik-awt-util:jar:1.6-1:compile
[INFO] | | | \- batik:batik-util:jar:1.6-1:compile
[INFO] | | | \- (batik:batik-gui-util:jar:1.6-1:compile - omitted for duplicate)
[INFO] | | +- (batik:batik-bridge:jar:1.6-1:compile - omitted for cycle)
[INFO] | | +- batik:batik-script:jar:1.6-1:compile
[INFO] | | \- batik:batik-svg-dom:jar:1.6-1:compile
[INFO] | | +- batik:batik-dom:jar:1.6-1:compile
[INFO] | | | +- batik:batik-css:jar:1.6-1:compile
[INFO] | | | | \- (batik:batik-util:jar:1.6-1:compile - omitted for duplicate)
[INFO] | | | +- batik:batik-xml:jar:1.6-1:compile
[INFO] | | | | \- (batik:batik-util:jar:1.6-1:compile - omitted for duplicate)
[INFO] | | | \- (xerces:xercesImpl:jar:2.5.0:compile - omitted for conflict with 2.2.1)
[INFO] | | \- batik:batik-parser:jar:1.6-1:compile
[INFO] | | \- (batik:batik-awt-util:jar:1.6-1:compile - omitted for duplicate)
[INFO] | \- fop:fop:jar:0.20.5:compile
[INFO] | +- batik:batik-1.5-fop:jar:0.20-5:compile
[INFO] | +- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] | +- (xalan:xalan:jar:2.4.1:compile - omitted for duplicate)
[INFO] | +- xerces:xercesImpl:jar:2.2.1:compile
[INFO] | \- avalon-framework:avalon-framework:jar:4.0:compile
[INFO] +- batik:batik-gui-util:jar:1.6-1:provided (scope not updated to compile)
[INFO] | \- (batik:batik-ext:jar:1.6-1:provided - omitted for duplicate)
[INFO] +- batik:batik-ext:jar:1.6-1:provided
[INFO] | \- xml-apis:xmlParserAPIs:jar:2.0.2:provided
[INFO] +- rhino:js:jar:1.5R4.1:provided
[INFO] \- xalan:xalan:jar:2.4.1:provided (scope not updated to compile)
例如,我可以毫无问题地排除这些,这使我节省了大量时间。 1.6MB:
<scope>provided</scope>
似乎这些是最大的依赖项:
<dependencies>
...
<dependency>
<groupId>batik</groupId>
<artifactId>batik-gui-util</artifactId>
<version>1.6-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>batik</groupId>
<artifactId>batik-ext</artifactId>
<version>1.6-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>rhino</groupId>
<artifactId>js</artifactId>
<version>1.5R4.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
答案 1 :(得分:1)
不完全确定您要完成的任务,但ProGuard将允许您过滤代码未使用的jar中的类。