我们做的有点奇怪。我们在.NET中使用Java Saxon,通过使用IKVM和所有其他Java代码对其进行编译。在命令行应用程序中,它工作得很好。
但在我们的Windows窗体应用程序中使用所有这些,我们可以:
org.xml.sax.SAXException occurred
HResult=-2146233088
Message (System.Exception)=SAX2 driver class com.sun.org.apache.xerces.internal.parsers.SAXParser not found
Message=SAX2 driver class com.sun.org.apache.xerces.internal.parsers.SAXParser not found
Source (System.Exception)=IKVM.OpenJDK.XML.API
Source=IKVM.OpenJDK.XML.API
StackTrace (System.Exception)= at org.xml.sax.helpers.XMLReaderFactory.loadClass(ClassLoader , String )
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader()
at net.windward.datasource.xml.SaxonDataSource.ctor(InputStream xmlData, InputStream schemaFile, Boolean preserveWhiteSpace)
StackTrace:
at org.xml.sax.helpers.XMLReaderFactory.loadClass(ClassLoader , String )
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader()
at net.windward.datasource.xml.SaxonDataSource.ctor(InputStream xmlData, InputStream schemaFile, Boolean preserveWhiteSpace)
InnerException:
显然,问题是com.sun.org.*在IKVM创建的DLL中找不到任何位置。对我来说奇怪的是命令行应用程序有效,而不是表单应用程序失败。
问题是,如何将com.sun.org.*包含在IKVM ed DLL中?
谢谢-戴夫
我怀疑com.sun.org.apache。xerces
存在于Oracle JDK中,但不存在于OpenJDK中。IKVM库基于OpenJDK。您可能应该使用JAXP机制(SAXParserFactory
或XMLReaderFactory
)来获取XML读取器
,而不是尝试加载特定的实现类。
后来
好的,从堆栈跟踪来看,您调用XMLReaderFactory.createXMLReader()来获取解析器。该方法的JDK 1.8版本似乎可以做到:
(a)获取系统属性< code>org.xml.sax.driver的值。
(b)查看元信息/服务
(c)使用类com.sun.org.apache.xerces.internal.parsers.SAXParser
我不知道该方法的IKVM版本是否相同:如果解析器实际上不在运行时中,保留com.sun.org回退会有点奇怪。但是有很多方法可以获得不同的XMLReader(包括直接实例化它,忽略工厂方法)。
仅产生以下消息: 找不到主类net.sf.saxon.查询 我已经在其他线程中读到这是撒克逊语中 XQuery 模式的正确命令,所以我还能做错什么?
问题内容: 我试图在我的Mac OS X 10.9.5上启动并运行mysql。我已经安装了最新版本的 社区服务器。我已经进入系统偏好设置并启动了mysql服务器,然后启动了终端并输入了以下内容: 返回版本,但是当我键入任何类型的mysql命令时,我都会得到。我也试过,。 我确实安装了带有mysql等的虚拟主机,但是我希望能够首先在命令行中掌握它。 问题答案: 因此,终端在很少的地方寻找命令。此位置
问题内容: 嗨,我正在开发一个需要我运行一些bash代码的应用程序,有没有一种方法可以将脚本硬编码到我的应用程序中然后运行它?例如(这是一个非常简化的示例) 我有以下方法来运行一行bash命令,但需要在多行中运行类似的内容。同样,上面的代码是一个非常简化的示例,我实际上在执行的操作必须通过脚本运行,而不能通过Java完成。我也想对它进行硬编码,因为我知道可以将脚本存储在手机上并使用以下命令运行它,
为了能够在远程服务器上执行一些XSLT转换,我在CentOS7上(使用yum)安装了saxon和saxon-scripts。 在我的本地计算机(Mac)上执行以下操作: 工作顺利。Centos上的相同命令会给我: 我看过从命令行运行XSLT和从Saxon文档中使用XML编录,但其中的解释远远超出了我的水平。 有没有可能忽略这个目录管理器业务,而在没有它的情况下从命令行执行转换?一个人会怎么做呢?
我在netbeans中有一个java应用程序,它将在Windows7中从命令提示符构建和运行,然后当我将。jar发送到我的windows XP虚拟机时,当我试图运行它时,我会得到一个异常。 有什么想法吗?
我漏掉什么了吗?如果有帮助的话,我一直在学习本教程--https://www.baeldung.com/spring-boot-console-app--但是,当我收到警告/错误时,我不得不做一些小的修改(例如,在pom.xml中声明main method)。