Java将-classpath选项添加或替换CLASSPATH环境变量
将 -classpath
选项与 java
一起使用会添加或替换 CLASSPATH
环境变量的内容吗?
Will the use of -classpath
option with java
add to or replace the contents of the CLASSPATH
environment variable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用类路径变量,它会覆盖环境变量的 CLASSPATH,但仅适用于该会话。如果重新启动应用程序,则需要再次设置类路径变量。
Using the classpath variable it overrides the CLASSPATH of Environment variable but only for that session. If you restart the application you need to again set the classpath variable.
是的。引自
java(1)
手册页:Yes. Quoted from the
java(1)
man page:使用其中一个选项,而不是同时使用两个选项。
...
...
Either one of the options is used, not both.
...
...
-cp 选项的使用不会影响 CLASSPATH 环境变量。
您可以尝试这个小代码片段来检查这一点:
不带 -cp 选项的输出:
带 -cp 选项的输出:
两种调用的输出相同(一个带 -cp,一个不带)。
另外,CLASSPATH 环境变量中指定的路径是
使用或使用 -cp 选项指定的路径。它不是两者的混合
它就是其中之一。
从下面的调用中可以明显看出这一点。
如果CWD(当前工作目录“.”)
被排除在 -cp 选项之外,JVM 启动器(即 java)找不到
类文件,尽管 CLASSPATH 环境变量中包含 CWD (".")。
The usage of -cp option will not affect the CLASSPATH environment variable.
You can try this small code snippet to check this:
The output without -cp option:
The output with -cp option:
The output is same for both invocations (one with -cp and one without).
Also either the path specified in the CLASSPATH environment variable is
used or the path specified with -cp option is used. It is not a mix of both
it is one of them.
This is evident from the below invocation.
If the CWD (current working directory ".")
is excluded from -cp option, the JVM launcher (i.e. java) cannot find the
class file despite the CLASSPATH environment variable containing CWD (".") in it.