【问题标题】:Grails - How to add Oracle jdbc jar to classpath without placing in /lib?Grails - 如何在不放入 /lib 的情况下将 Oracle jdbc jar 添加到类路径?
【发布时间】:2014-10-09 02:23:28
【问题描述】:

我试图让我的 grails 应用程序使用 tomcat 在本地运行,但没有将 ojdbc6.jar 放在 /lib 中。我的 grails 应用程序部署到 Glassfish 并在服务器上运行良好(因为 ojdbc6.jar 在那里可用)。不出所料,错误是:

Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver]

(失败)方法 #1

我首先自定义了我的 GGTS 运行配置以包含 VM 参数:

-cp :/somelocalpath/oracle-jdbc-drivers

但是错误仍然存​​在。

(失败)方法 #2

我目前正在寻找使用 jvmArgs 来指向 jar 的本地版本。

grails.tomcat.jvmArgs = ["-cp:/somelocalpath/oracle-jdbc-drivers/ojdbc6.jar"]

然而,一场争吵会导致:

| Error Server failed to start: tomcat exited prematurely with code '1' (error output: 'Unrecognized option: -cp:/apps/glassfish3/oracle-jdbc-drivers/ojdbc6.jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
') 

我应该澄清我的主要关注点 - 我不希望罐子被包括在最后的战争中。

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: oracle tomcat grails grails-2.2


    【解决方案1】:

    来自documentation

    grails.war.resources 允许您进行任何您想要的额外处理 在最终创建 WAR 文件之前。

    在您的情况下,您需要在构建配置中添加类似的内容以排除最终 WAR 的 Jar。

    grails.war.resources = { stagingDir ->
      delete(file:"${ stagingDir }/WEB-INF/lib/yourJarFile.jar")
    }
    

    【讨论】:

    • 这正是我最终使用的!
    猜你喜欢
    • 2015-12-30
    • 2013-03-20
    • 2016-12-28
    相关资源
    最近更新 更多