4

我似乎找不到它,Netbeans 说这个包不存在?我必须获得哪个 jar 包才能拥有包 org.w3c.dom.svg?我正在使用蜡染 SVG

4

5 回答 5

4

Jelle Fresen 回答中的 W3C 参考链接是规范的 v.1.1,从 2010 年开始。不幸的是,蜡染 1.9(截至本文撰写时的最新版本)是针对 2001 年更旧的 1.0 规范编写的。

1.0 和 1.1 规范之间肯定还有其他不兼容之处,但我遇到的第一个是 a java.lang.NoSuchMethodError: org.w3c.dom.svg.SVGTransformList.getNumberOfItems()I,因为 Apache 需要ints,而 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.jarBatik 发行版中找到该包。

于 2018-01-22T18:33:34.023 回答
3

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

我通过从这个站点下载 w3c.jar 解决了这个问题。希望它可以帮助将来的人!

于 2013-05-28T07:01:30.690 回答
2

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

于 2013-08-06T16:24:34.817 回答
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>
于 2021-01-21T23:54:56.783 回答
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 存储库 时才需要上述依赖项。我最终通过在 batik:*:1.7 中获取所有库(对于 1.7 版)使代码正常工作。但是,这些库的 SVG 掩码存在问题。我发现使用org.apache.xmlgraphics:batik-all要好得多。这修复了 svg:mask 问题并消除了对其他依赖项的需要,包括上面的 xml-apis: 。

于 2020-08-25T03:37:24.743 回答