首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许重新打包Oracles JDBC驱动程序吗?

允许重新打包Oracles JDBC驱动程序吗?
EN

Stack Overflow用户
提问于 2012-07-10 09:46:26
回答 2查看 3.7K关注 0票数 0

我想将我的Java程序作为JAR文件分发。我的程序需要Oracle JDBC驱动程序,它也是作为JAR文件交付的。但是java -jar命令只接受一个JAR文件。因此,我必须合并这两个JAR文件。这是很容易做到的,但我是否可以这样做呢?是否允许将我的程序作为包含Oracle JDBC JAR文件内容的JAR文件分发?

EN

回答 2

Stack Overflow用户

发布于 2012-07-10 09:48:14

但是java -jar命令只接受一个JAR文件。

这不对。您的JAR文件可以包含一个带有类路径:条目的Manifest,它可以命名为Oracle文件。

票数 5
EN

Stack Overflow用户

发布于 2012-07-10 10:00:40

是的,您可以将Oracle JDBC驱动程序打包到jar文件中,只要您不修改jar文件或jar文件中的任何文件。在某些库中,还需要将许可文件作为发行版的一部分--您需要阅读相关jar文件的许可证详细信息。通用的甲骨文发行许可证条款可以在这里找到http://www.oracle.com/technetwork/licenses/distribution-license-152002.html

关于您问题的java -jar部分,请参阅以下解释:

要启动可执行的jar文件,我们使用命令java -jar executable.jar

JVM将查看jar文件的清单,并执行在jar文件中指定的main类的主要方法。应用程序的任何依赖项都可以通过类路径设置来满足--我们不需要在启动应用程序时指定所有依赖jar文件。

有不同的类路径设置方法:

  • 设置系统类路径(在set CLASSPATH=app1.jar;app2.jar;driver.jar;和Unix/Linux export CLASSPATH=app1.jar:app2.jar:app3.jar上)。当您控制系统变量时,这种方法很有用,并且它是受控制的环境,因此此方法不适合于将应用程序分发给客户端。
  • 在启动应用程序时,请提及类路径。这可以通过使用java逗号的-classpath选项来实现,例如,java -classpath app1.jar;app2.jar;driver.jar -jar executable.jar,这种方法对于快速测试很有用,如果要引用的jar文件的数量较少,则可以使用
  • 指定最主要的类路径。这是打包应用程序的最佳选择。我们可以在清单类路径中指定依赖项,如下面的Class-Path: app1.jar app2.jar driver.jar

注意:请在类路径条目中使用适当的分隔符,例如在windows上,;是类路径条目的分隔符,unix :是分隔符,在清单类路径中,您可以使用空格作为分隔符。同样,在提到app1.jar/app2.jar/driver.jar时,您必须使用jar文件的绝对路径或相对路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11410636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档