我正在嘗試使用Batik庫源文件,我只想使用轉碼器將SVG文件轉換爲PNG或JPEG格式。 Batik Rasterizer的發佈版本大約是55k,但是當我輸出jar文件時,它的大小爲7 megs。我可以使用代碼轉換器而不是庫中的所有罐子嗎?我在Coldfusion中加載了jar文件。只使用分發版本會更有意義嗎?我是否可以只使用Batik庫的Transcoder而無需其他蠟染代碼和依賴項?
2
A
回答
3
這是batik-transcoder
1.6-1使用mvn dependency:tree -Dverbose
的依賴關係樹:
[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)
如果你使用Maven的,你可以設置一些依賴於<scope>provided</scope>
例如,我可以exlude這些沒有問題,節省我可以。 1.6MB:
<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>
看來,這是最大的依賴關係:
http://repo.maven.apache.org/maven2/xerces/xercesImpl/2.2.1/xercesImpl-2.2.1.jar (816 KB at 851.9 KB/sec)
http://repo.maven.apache.org/maven2/xalan/xalan/2.4.1/xalan-2.4.1.jar (1007 KB at 479.7 KB/sec)
http://repo.maven.apache.org/maven2/fop/fop/0.20.5/fop-0.20.5.jar (1485 KB at 1011.7 KB/sec)
http://repo.maven.apache.org/maven2/batik/batik-1.5-fop/0.20-5/batik-1.5-fop-0.20-5.jar (2063 KB at 936.0 KB/sec)
1
相關問題
- 1. 否則是永遠必要的,可以簡化代碼,而無需其他
- 2. 我可以打包IPython Notebook,依賴項和其他模塊嗎?
- 3. 是否可以使用依賴關係編譯golang代碼?
- 4. 使用Batik Transcoder禁用日誌記錄?
- 5. 是否可以使用Dist :: Zilla的可選依賴項?
- 6. Ember是否支持依賴於其他庫的庫?
- 7. 是否可以使用其他語言編寫java代碼?
- 8. 是否可以使用WPF派生的依賴項屬性?
- 9. 是否可以使用apache mahout分類而不依賴於hadoop
- 10. 是否可以使用apache mahout而不依賴於hadoop?
- 11. 我是否可以只更新app.yaml文件而無需上傳所有項目
- 12. 是否可以使用StructureMap命名依賴項?
- 13. 是否可以在Cordova中使用nodejs依賴庫?
- 14. 靜態庫是否依賴於其他slib需要實際的「代碼」才能工作?
- 15. 是否可以使用Travis CI測試依賴硬件的代碼?
- 16. 在Android項目中是否有其他方式使用依賴項.aar?
- 17. 使用GZIP,我可以編寫'Sloppy'CSS(和其他類型的代碼)代碼嗎?
- 18. 從使用我的庫的其他模塊中排除依賴項
- 19. 我應該把我的依賴關係(JAR庫),而使用源代碼控制
- 20. 是否可以卸載依賴包而不是實際的包?
- 21. 我可以說這個scala代碼是依賴注入嗎?
- 22. 我可以讓Gradle只拉入需要的依賴關係嗎?
- 23. 我是否仍然聲明其他共享對象的需求依賴關係?
- 24. 在gradle中,我可以編譯本地模塊並將其用作其他「外部」庫的依賴項嗎?
- 25. 是否可以將其他標籤應用於依賴關係角色?
- 26. 你可以從其他plunk中導入依賴項嗎?
- 27. 使用代碼而無需將其編譯到庫
- 28. 查找其他項目是否將該項目用作maven依賴項?
- 29. 使用ocLazyLoad插件加載組件和其他依賴項
- 30. netbeans項目,依賴於其他項目和他們包括
什麼是對罐子大小關注的原因嗎?因爲你確實需要的不僅僅是代碼轉換器,儘管可能不是所有的罐子。這是一個過時的[依賴關係圖](http://xmlgraphics.apache.org/batik/install.html#dependencyGraph)。另外,您是否要替換隨CF附帶的Batik縮小版或僅使用JavaLoader? – Leigh
對不起,我想簡單地使用庫來將SVG文件轉換爲服務器上的jpg,我看到了關於如何在A CF服務器上合併SVG轉換的教程。除非需要轉換SVG文件,否則我不想加載任何jar文件。我實際上將jar文件直接安裝在服務器上,並嘗試使用javaloader。 – Jesse
好的,那麼它不是一個真正的大小考慮因素。老實說,它可能比它值得的更多的工作。最終,圖書館需要它需要的工作。這可能是五個罐子或五十個。但是,通常情況下會有更多,而不是太少。依賴關係會根據執行的操作而有所不同。我不知道有一個全面的依賴列表。 (我見過的最接近的就是上面的鏈接。)爲了你的目的,你可能會忽略一些明顯的例如「squiggle」,「swing」,「gui」,etectera。除此之外,您可能需要嘗試。 – Leigh