java - 为什么 javac(编译器)和 java(JVM)都需要在类路径中提及外部依赖项?

标签 java jvm

如果一个java源文件依赖于一个外部JAR文件,我们需要将外部依赖的路径提供给java编译器:

javac -cp [path-to-external-JAR] foo.java

jar cvf foo.jar foo.class 

同样,当我们需要执行这个jar文件时,我们需要向JVM提供外部依赖的路径:

java -cp [path-to-external-JAR]:foo.jar foo

最佳答案

编译器需要引用,因为它必须检查您正在调用或覆盖的类和方法是否存在,并且可以被调用/覆盖。

JVM 需要它们,因为它必须执行这些类和方法中的指令。

关于java - 为什么 javac(编译器)和 java(JVM)都需要在类路径中提及外部依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788586/

相关文章:

java - 使用正则表达式查找字符串中的所有字母

java - 始终避免 Java 中的递归方法?

java - 远程调试时评论代码被命中

添加月份时的 Java 日历/日期问题

java - 在 JAVA 中向文件写入/读取可变字节编码字符串表示形式

设置 Xms Xmx 时,Java Heap Space 不会增加,

java - 什么是字节码以及 JVM 如何处理它们

garbage-collection - 如何禁用在 WebSphere 中触发堆转储时发生的系统 GC?

java - 在 Java 类文件的字节码版本之间切换

java - 从 MySQL 数据库中检索数据并使用 java 将其显示在 html 中