在OSX上的何处安装JAR文件,以便其他Java应用程序可以找到它们?
我想安装不同的JAR文件,比如OSX上的数据库JDBC驱动器,以便其他Java应用程序可以找到它们 我应该把它们放在哪里?我尝试了在OSX上的何处安装JAR文件,以便其他Java应用程序可以找到它们?,java,macos,Java,Macos,我想安装不同的JAR文件,比如OSX上的数据库JDBC驱动器,以便其他Java应用程序可以找到它们 我应该把它们放在哪里?我尝试了~/Library/Java/Extensions,但没有成功 详情: OS X 10.8.2 java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811) Java HotSpot(TM) 64-Bit Server VM (build 20.10-
~/Library/Java/Extensions
,但没有成功
详情:
OS X 10.8.2
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
注意:我无法控制应用程序的初始化方式,但我假设应用程序不包含它自己的Java发行版,它将启动OS安装版本(可从命令行获得的版本)
另外,我没有任何类路径设置,请记住,命令行程序可用的环境变量与OSX上GUI应用程序可用的环境变量不同
我需要指定我正在为我的开发机器尝试这种方法,并且这种方法不是部署Java应用程序的方法。它们必须包含在应用程序的类路径中。如果您从命令行执行它,则使用例如“java-cp~/Library/java/Extensions/foo.jar Bar”
另一方面,如果您使用像tomcat这样的应用服务器,您可以将jar打包到应用程序的war中,或者将其放入服务器的共享库文件夹中。请不要这样做。原因如下:其他应用程序将崩溃,因为这些JAR文件将为每个Java应用程序加载 详细介绍:我为Mac销售一款Java应用程序。它依赖于拥有JAR文件的特定最新版本(对于JFreeChart)。有时,在相应的Extensions文件夹中有相同JAR文件的旧版本。这破坏了我的应用程序 但如果你真的想这样做:根据: 扩展库 其他平台上的Java软件通常使用 要存储的JDK安装中的$JAVA_HOME/lib/ext目录 支持类或jar文件。而Java for Mac OS X也包含 lib/ext目录,开发人员不应直接为 与上述原因相同Library/Java/Extensions目录 可以用于需要修改的其他jar文件或JNI库 放置在系统类路径上。要获得更多受控访问,请 ~/Library/Java/Extensions目录可用于用户级 安装支持库。放置在其中任何一个中的项目 目录不需要在应用程序的类路径和 将适用于在各自范围内运行的所有应用程序 (系统级或用户级,取决于使用的目录)
我将支持Steve的评论,并进一步建议您使用or进行依赖关系管理
图书馆管理是按项目进行的。管理更新和相互依赖性要容易得多。Maven(我不知道Ivy)可以告诉你哪些LIB过时了,哪些相互冲突等等。对于每个项目,你可以精确地指定你需要的版本,而不用担心更改是否会破坏其他项目。好的,就我的贡献。。。但是我想在命令行上运行我的小数据库程序,但是我需要在类路径中使用mysql-connector-java-5.1.29-bin.jar来运行。我花了一些时间试图弄明白,并找到了解决办法。我将jar文件放到
库/Java/Extensions
文件夹中,并重新启动了我的机器。现在上面说,在“执行”程序时应该包括类路径(java-cp~/Library/java/Extensions/foo.jar Bar
),但它对我不起作用。相反,我在编译时发出了命令,然后执行了我的程序:
$ javac -cp /Library/Java/Extensions/mysql-connector-java-5.1.29-bin.jar FirstExample.java
$ java FirstExample
这就是我得到的。。。从我的数据库查询数据:
正在连接到数据库…正在创建语句…
ID:1,职务:销售代表,第一名:南希,最后一名:达沃利奥
ID:2,职务:销售副总裁,第一名:安德鲁,最后一名:富勒 ID:3,职务:销售代表,第一名:Janet,最后一名:Leverling
ID:4,职务:销售代表,第一名:玛格丽特,最后一名:孔雀
ID:5,职务:销售经理,第一名:史蒂文,最后一名:布坎南
ID:6,职务:销售代表,第一名:Michael,最后一名:Suyama
ID:7,职务:销售代表,第一名:罗伯特,最后一名:金
ID:8,职务:内部销售协调员,第一名:劳拉,最后一名:卡拉汉
ID:9,职务:销售代表,第一名:安妮,最后一名:多兹沃思 再见
希望这有帮助您没有使用任何依赖关系管理工具吗?像格雷德尔、马文或蚂蚁/常春藤?这将使您的生活更轻松,但这并不能解释在何处安装jar,而且数据库的示例令人困惑。