如何找到包org.w3c.dom.svg?

时间:2012-12-03 03:59:30

标签: batik

我似乎无法找到它并且Netbeans说该包不存在?我需要哪个jar包org.w3c.dom.svg?我正在使用蜡染SVG

5 个答案:

答案 0 :(得分:3)

我知道这个问题可能已经很老了但我最近遇到了同样的问题(当使用蜡染时,门户上缺少这种依赖)...

我是通过从this site下载w3c.jar来解决的。希望它能帮助将来的某个人!

答案 1 :(得分:3)

Jelle Fresen的答案中的W3C参考链接是规范的v.1.1,从2010年开始。不幸的是,Batik 1.9(撰写本文时的最新版本)是从2001年开始编写的1.0版本。< / p>

1.0和1.1规范之间肯定存在其他不兼容性,但我遇到的第一个是java.lang.NoSuchMethodError: org.w3c.dom.svg.SVGTransformList.getNumberOfItems()I,因为Apache期望int s,而SVG 1.1 API使用long值说话

W3C的SVG 1.0参考实现可以在这里找到,至少现在可以找到:https://www.w3.org/TR/SVG10/java.html

不幸的是,这个包依赖于SMIL; 3.0是SVG 1.1之前的最新版本,只包含两个Java类,您可以在此处找到它们:https://www.w3.org/TR/SMIL3/smil-timing.html#q142

您只需从该代码构建自己的JAR即可。或者您可以使用Maven来解决所有问题。不幸的是,与我合作的客户仍然依赖于地狱,这些事情需要手动解决。

非常感谢Jelle Fresen,他的链接让我想到了我想要的东西。

更新:好吧,看起来Batik发行版也包含这些库,这并不奇怪。你可以在这里下载,我已经有了:https://xmlgraphics.apache.org/batik/download.html

令人困惑的是,batik-all-1.9.jar(包含在batik-bin-1.9.zip中)并不包含您需要的所有内容。

所以真实的(最实际的,如果你没有被Maven祝福)对原始问题的回答是org.w3c.dom.svg包可以在xml-apis-ext-1.3.04.jar找到,随Batik发行一起提供

答案 2 :(得分:2)

您正在寻找的是SVG规范的Java语言绑定,可以在W3C的SVG建议书的附录D.1中找到:http://www.w3.org/TR/SVG11/java.html

答案 3 :(得分:1)

我也有类似的需求,因此我可以在独立模块之间传递 SVG 和 MathML 文档。据我所知,没有官方的受祝福的 Maven 托管的 jar 文件,但我确实为官方发布的绑定制作了一个非常非官方的 jar 文件,并在 2007 年将它们放在 Maven 上。 MathML 绑定有一些小的编译错误我在建造之前更正了。 SMIL 依赖项也是传递性提供的。以下是 Maven 依赖项描述符:

<!-- The SVG DOM bindings for Java, written by the W3C, distributed by aXSL. -->
<dependency>
    <groupId>org.axsl.org.w3c.dom.svg</groupId>
    <artifactId>svg-dom-java</artifactId>
    <version>1.1</version>
</dependency>


<!-- The MathML DOM bindings for Java, written by the W3C, distributed by aXSL. -->
<dependency>
    <groupId>org.axsl.org.w3c.dom.mathml</groupId>
    <artifactId>mathml-dom-java</artifactId>
    <version>2.0</version>
</dependency>

答案 4 :(得分:0)

我遇到了这个问题,尝试使用IntelliJ在https://xmlgraphics.apache.org/batik/using/swing.html上构建Batik Swing示例。

对我来说,解决方案是通过获取Maven库而来的(不是立即,相信我): xml-apis:xml-apis:2.0.2和... xml-apis:xml-apis-ext:1.3.04

(这些是撰写本文时提供给我的最新版本)

[更新] 仅当使用 batik: Maven蜡染库时才需要上述依赖项。最终,我通过获取batik:*:1.7中的所有库(针对1.7版)来实现代码的所有工作(对于1.7版)。但是,这些库的SVG遮罩存在问题。我发现最好使用 org.apache.xmlgraphics:batik-all 。这样可以解决svg:mask问题,并且不需要其他依赖项,包括上面的xml-apis。