java - $CLASSPATH 和 -cp 与 Java

标签 java jar classpath

  • 在此post ,使用 -jar 选项会忽略所有 -cp 和 $CLASSPATH。
  • 在此post ,使用 -cp 选项也会忽略 $CLASSPATH。

他们有什么好的理由吗?

最佳答案

这是为了避免在将应用程序分发到不同环境时在类路径中发生冲突。在大多数情况下,您希望您的应用程序独立于特定于平台的配置。如果 $CLASSPATH 包含对具有(无意或有意)相同包和类名的类的引用,它在类加载中将优先于您包含在应用程序类路径中的类。这可能会导致意外的应用程序行为或潜在的安全漏洞。

关于java - $CLASSPATH 和 -cp 与 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401266/

相关文章:

java - 具有大整数阶乘组合的操作

Java 无法找到有效的证书

java - 从 jar 文件中提取 dll

java - 我应该包含什么 jar 在基于 hibernate 的应用程序中使用 javax.persistence 包?

maven - 使用 maven 构建一个 fat jar 子

java - 正在运行引用另一个 jar 的 jar

java - 在 Java 中生成迷宫,不是作为网格(即 Matrix NxN),而是作为图形

java - Collections.synchronizedMap() 返回类转换异常,而法线贴图工作正常

java - jar list 类路径和-classpath命令行选项如何组合

java - java中的PATH和CLASSPATH变量