问题描述
我正在为班级进行 XSLT 作业。说明告诉我“通过在 alldepartments.xsl 样式表中应用 getEmployees 模板来生成结果文档 horizons.xml。”
于是,我拉起终端输入:java net.sf.saxon.Transform -it:getEmployees alldepartments.xsl -o:horizons.xml
我收到错误消息:“错误:无法找到或加载主类 net.sf.saxon.Transform 引起:java.lang.classNotFoundException:net.sf.saxon.Transform”
我尝试对问题进行故障排除,并在 https://www.saxonica.com/html/documentation10/about/gettingstarted/gettingstartedjava.html
找到了检查软件是否正常工作的说明所以我在命令行中输入了以下内容:
java -cp c:\saxon\saxon-he-10.5.jar net.sf.saxon.Query -t -qs:"current-date()"
老实说,除了解压缩我下载的文件并将其放在我的 Mac (Big Sur 11.3.1) 上的应用程序文件夹中之外,我不确定如何安装 Saxon。我试图通过右键单击并选择打开来打开 .jar 文件,但它给了我错误消息:
“操作无法完成。无法执行/Library/internet plugins/javaappletplugin.plugin/contents/home/bin/java:没有那个文件或目录”
这是我的 JRE 版本:“16.0.1” 2021-04-20 Java(TM) SE 运行时环境(构建 16.0.1+9-24) Java HotSpot(TM) 64 位服务器 VM(构建 16.0.1+9-24,混合模式,共享)
这是我的 JDK 版本:javac 16.0.1
照片是SaxonHE10-5J文件夹里面的照片,我尝试运行saxon-he-10.5.jar文件。
我不知道为什么事情不起作用,也不知道下一步该怎么做。我真的很感激一些循序渐进的帮助。请告诉我您需要哪些其他信息来帮助我。
解决方法
好吧,您的第一次尝试失败了,因为 Saxon 不在类路径上。我想你已经解决了。要解决这个问题,您需要类似的东西:
java -cp c:\saxon\saxon-he-10.5.jar net.sf.saxon.Transform -it:getEmployees alldepartments.xsl -o:horizons.xml
恐怕您的第二次尝试(运行 XQuery)对我来说有点神秘。但是我很困惑,当您说您在 Mac 上运行时,为什么要在 -cp 选项中使用 Windows 文件名?如果您已将 Saxon 安装到 Mac 上的应用程序文件夹中,则类路径应类似于 /Users/Nikofem/Applications/Saxon/saxon-he-10.5.jar
。