2017-01-30 35 views
0

我正在使用XSLT和SAXON jar将XML转换为DITA。通常,当我在Eclipse中运行我的Java程序它工作正常,但是当我创建项目的JAR文件并运行XSLTL无法沟通SQL罐子XSLT无法在使用SAXON java进行转换时找到SQL jar文件程序

<!-- SQL login --> 
<xsl:param name="jdbc.driver" as="xsd:string" select="'com.mysql.jdbc.Driver'" /> 
<xsl:param name="jdbc.database" as="xsd:string" select="'jdbc:mysql://my URL:3306/mydb'" /> 
<xsl:param name="jdbc.user" as="xsd:string" select="'user'" /> 
<xsl:param name="jdbc.pass" as="xsd:string" select="'pass'" /> 

我已经包括saxon9pe.jar,使用mysql-connector-Java的5.1.28.jar,我的类路径中的resolver.jar和它在eclipse中的正常工作。

但我的问题是,当我使用maven创建我的项目的罐子和调用的jar文件,如下

java -cp export-data-web-0.0.1-SNAPSHOT.jar com.deere.utils.XmlToDitaTransform

它不工作或萨耶无法从SQL JAR文件进行通信XSLT 示值误差

<xsl:fallback> 
    <xsl:message terminate="yes">Cannot access SQL database.</xsl:message> 
</xsl:fallback> 
+0

这里没有足够的信息进行诊断。 (a)如果您删除了xsl:fallback,并且(b)如果您设置了配置属性FeatureKeys.TIMING(等同于命令行中的-t),则可能会得到更好的错误消息。你没有提到saxon9-sql.jar,它也需要放在你的类路径中。它也可能是一个许可证文件问题。 –

+0

谢谢@MichaelKay我错过了许可证文件。现在它的工作正常。 –

回答

1

你需要把撒克逊罐子到类路径中。

+0

@AshutoshSakalle是否所有必需的罐子都打包在您正在创建的罐子中? –

+0

谢谢@Ruchika,但它不是一个罐子问题,我错过了许可证密钥。 –

+0

噢伟大..如果问题已解决@AshutoshSakalle欢呼! –

相关问题