我不确定这是否是最佳实践,但是我将MySQL-connector jar添加到我的Java安装目录的extensions目录中,这样我就可以轻松地连接到MySQL数据库。
我还设置了指向不同目录的环境变量,这样我就可以在不同的机器上进行开发,并且只在本地定义环境变量,并且不需要为文件路径修改代码。
在上述两种情况下,我发现除非我重新启动计算机,否则java也无法识别。在重新启动到Java期间会发生什么情况?一些配置文件是由java进程更新的吗?你能在不重启的情况下更新这个吗?
为了测试这一点,我在Mac (添加到.MacOS/environment.plist)、Linux (ubuntu12.04)和windows7(通过控制面板)上创建了一个新的环境变量。然后我使用了返回null的System.getenv("TestVar");。但是,从命令行运行set表明它是存在的。重新启动后,System.getenv("TestVar");将返回期望值。
发布于 2013-01-18 04:36:02
只要在Ubuntu上设置环境变量,就需要注销
https://superuser.com/questions/339617/how-to-reload-etc-environment-without-rebooting
发布于 2012-08-10 19:48:58
最终,您的目标是在CLASSPATH中包含jar文件。如何在类路径中包含jars由您决定,但是将jars放在extensions目录中并不是一个好的做法。在运行程序时修改CLASSPATH的值。
java -cp jar1:jar2:jar3:dir1:. HelloWorld
java -classpathjar1:jar2:jar3:dir1:. HelloWorldhttps://stackoverflow.com/questions/11900893
复制相似问题