我想将我的Java程序作为JAR文件分发。我的程序需要Oracle JDBC驱动程序,它也作为JAR文件提供。但java -jar
命令只接受一个JAR文件。因此我必须合并这两个JAR文件。这可以很容易地完成,但我可以做到这一点?我是否允许将我的程序作为包含Oracle JDBC JAR文件内容的JAR文件进行分发?是否允许重新包装Oracle Oracles JDBC驱动程序?
0
A
回答
6
1
是的,只要您不修改jar文件或其中的任何文件,就可以将Oracle JDBC驱动程序打包到您的jar文件中。在某些库中,还需要将许可证文件也包含在内您的发行版 - 您需要阅读各个jar文件的许可证详细信息。通用甲骨文分配许可条款可以在这里http://www.oracle.com/technetwork/licenses/distribution-license-152002.html
发现关于你的问题,请参见下面的解释的java -jar
部分:
要启动,我们使用该命令的可执行的JAR文件java -jar executable.jar
JVM将调查jar文件的清单并执行主类的主要方法 - 您在jar文件中指定的方法。应用程序的任何依赖关系都可以通过类路径设置来满足 - 我们不需要在启动应用程序时指定所有的依赖关系jar文件。
还有的类路径设置不同的方式:
- 设置系统类路径(在Windows
set CLASSPATH=app1.jar;app2.jar;driver.jar;
和在Unix/Linuxexport CLASSPATH=app1.jar:app2.jar:app3.jar
)。当您控制系统变量并且它是受控环境时,此方法非常有用,但此方法不适用于将应用程序分发到客户端 - 在启动应用程序时提及类路径。这可以通过使用java comman的
-classpath
选项完成 - 例如java -classpath app1.jar;app2.jar;driver.jar -jar executable.jar
此方法对快速测试非常有用,并且如果要引用的jar文件的数量少于 - 指定mainfest类路径。这是打包应用程序的最佳选择。我们可以在清单类路径中指定的依赖,这样
Class-Path: app1.jar app2.jar driver.jar
注:请用适当的分隔符的类路径条目,例如在Windows ;
是分隔符的类路径条目,在UNIX :
是分隔符,并在清单你已经使用空间作为分隔符。另外,在提到app1.jar/app2.jar/driver.jar的地方,你必须使用绝对或相对路径的jar文件
相关问题
- 1. 是否有Spark SQL jdbc驱动程序?
- 2. 找不到Oracle JDBC驱动程序
- 3. Oracle 10G XE的JDBC驱动程序
- 4. Grails 3.1.8 Oracle JDBC驱动程序配置
- 5. 为Oracle 8i选择jdbc驱动程序
- 6. JUL到SLF4J与oracle jdbc驱动程序
- 7. 找不到Oracle jdbc驱动程序
- 8. eclipse是否预装了mysql jdbc驱动程序?
- 9. Windows中是否默认安装了任何JDBC驱动程序?
- 10. 如何安装SQLite JDBC驱动程序?
- 11. MySQL JDBC驱动程序是否符合JDBC规范?
- 12. 更改为新的Oracle JDBC驱动程序?
- 13. java.sql.SQLException:[BEA] [Oracle JDBC驱动程序] [Oracle] ORA-01438:值大于指定的精度允许此列
- 14. 关于JDBC驱动程序
- 15. JDBC驱动程序问题
- 16. 哪个oracle jdbc驱动程序是我的coldfusion 8安装使用
- 17. MySQL的JDBC驱动程序 - 查询包装?
- 18. 什么是最好的类型4 Oracle JDBC驱动程序?
- 19. 是否允许ClickOnce更新?
- 20. 加载JDBC驱动程序
- 21. 什么是jdbc驱动程序“org.gjt.mm.mysql.Driver”?
- 22. 5型JDBC驱动程序
- 23. Tomcat和JDBC驱动程序
- 24. MySQL jdbc驱动程序
- 25. jdbc odbc驱动程序
- 26. OCI JDBC驱动程序和NLS设置
- 27. 选择一个JDBC驱动程序
- 28. Microsoft的MS-SQL Server JDBC 3.0驱动程序是否包含对JTA的支持?
- 29. JDBC瘦驱动程序的NLS_LANG设置?
- 30. MySQL的JDBC驱动程序是否有解析SQL的功能?
这是一个法律问题,而不是编程问题,所以不属于SO。 – APC 2012-07-10 13:00:46