我正在Eclipse中开展两个项目。
项目A取决于项目附带的一些jar
文件,并且这些jar文件已添加到Eclipse中项目A的“Java构建路径”属性中的“库”选项卡中。
项目B依赖于项目A,以及直接在项目A的构建路径中的某些jar
文件中使用某些类。
我曾假设将Project A添加到Project B的Java Build Class中也会在Project A的构建路径中添加jar,但看起来并非如此。
我是否必须手动将这些jar添加到Project B的构建类中,还是我忽略了一个设置?如果是这样,为什么这是一个有用的标准行为?
答案 0 :(得分:2)
您必须手动将jar添加到项目B的类路径中。
添加项目依赖项意味着项目A取决于项目B的编译输出。项目B的输出(其编译的.class文件)不包含它所依赖的.jar文件。
这是为什么?我不知道日食作者的基本原理,但我的猜测是他们希望保持类路径尽可能简单和冗长。如果在类路径上有相同库的多个版本,事情就会变得混乱。
在vanilla java中,您可以为类路径提供目录名称。加载类时,JVM将按顺序搜索这些目录。 Eclipse鼓励采用更严格的方法,即手动指定每个jar。请注意,您可以一次添加多个罐子,因此将项目B的所有罐子添加到项目A的类路径中是微不足道的。