0

我不确定这是否是最佳实践,但我将 MySQL-connector jar 添加到我的 Java 安装目录的扩展目录中,以便我可以轻松连接到 MySQL 数据库。

我还将环境变量设置为指向不同的目录,这样我就可以在不同的机器上开发,并且只在本地定义环境变量,并且不必为文件路径修改代码。

在上述任何一种情况下,我发现除非我重新启动计算机,否则 java 也无法识别。重新启动 Java 期间会发生什么?java进程是否更新了一些配置文件?您可以在无需重新启动的情况下更新它吗?

为了测试这一点,我在 Mac(添加到.MacOS/environment.plist)、Linux(Ubuntu 12.04)和 Windows 7(通过控制面板)上创建了一个新的环境变量。然后我使用System.getenv("TestVar");返回null。set从命令行运行表明它存在。重新启动后System.getenv("TestVar");返回预期值。

4

2 回答 2

2

最终,您的目标是将 jar 文件包含在CLASSPATH. 由您决定如何包含jars在类路径中,但将 jar 放在extensions目录中并不是一个好习惯。在运行程序时修改CLASSPATH值。

 java -cp jar1:jar2:jar3:dir1:. HelloWorld
 java -classpathjar1:jar2:jar3:dir1:. HelloWorld
于 2012-08-10T11:48:58.357 回答
2

至于在 Ubuntu 上设置环境变量,需要注销

https://superuser.com/questions/339617/how-to-reload-etc-environment-without-rebooting

于 2013-01-17T20:36:01.807 回答