编辑
我有一个 XSLT 将我的 xml 转换为 html 格式(我对 XSLT 一无所知,我有一个已经由某人编写的)。
这就是我在命令行中所做的
java -Xss2m -Xmx512m -cp <jarfile>.jar net.sf.saxon.Transform <xsltname> <inputfilename> <outputfilename>
使用 XSLT 转换 xml 文件时,出现以下错误
Error: Could not find or load main class net.sf.saxon.Transform
我不知道为什么有人可以帮助我..
初步回应:
[您需要准确地告诉我们您在做什么,然后我们才有机会告诉您您做错了什么。
这不是从命令行调用 Saxon 时出现的正常错误,因此我怀疑您是从其他应用程序调用它的。几乎可以肯定,原因是 Saxon JAR 文件不在类路径上(尽管可能是其他一些类似的问题,例如没有加载 JAR 文件的权限)。设置类路径的方式可能取决于您正在使用的应用程序,例如,运行 Tomcat 与直接从命令行运行是不一样的。]
提供更多信息后进行修改:
该错误几乎肯定意味着您的路径
<jarfile>.jar
错误。尝试导航到它并复制路径,或使用 shell 自动完成功能。
在 Docker 容器中使用 Saxon XSLT 处理器运行 Java 命令时,我遇到了“无法找到或加载主类”错误。我的命令在本地 MacOS 环境中运行良好,但在基于 Linux 映像的容器内失败。
解决方案是类路径分隔符语法的细微差别:
;
) 分隔。:
)。不正确(Linux):
java -cp "saxon11.jar;xml.jar" ...
正确(Linux):
java -cp "saxon11.jar:xml.jar" ...
将 Java 命令中的分号更改为冒号后,它在 Docker 容器中成功运行。