Grails - 如何将Oracle jdbc jar添加到classpath而不放入/ lib?

时间:2014-10-08 15:47:58

标签: oracle tomcat grails grails-2.2

我正在尝试使用tomcat在本地运行grails应用程序,但不在/ lib中放置ojdbc6.jar。我的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.
') 

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

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

1 个答案:

答案 0 :(得分:0)

来自documentation

  

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

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

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