我不确定这是否是最佳实践,但我将 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");
返回预期值。
最佳答案
最终您的目标是将 jar 文件包含在 CLASSPATH
中。这取决于您如何在类路径中包含 jars
,但这不是将 jar 放入 extensions
目录中的好习惯。运行程序时修改 CLASSPATH 值。
java -cp jar1:jar2:jar3:dir1:. HelloWorld
java -classpathjar1:jar2:jar3:dir1:. HelloWorld
关于Java 设置、类路径和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900893/