Java 2 SDK和Java工具寻找软件包

Java 2 SDK和Java工具寻找软件包,java,eclipse,classpath,package,Java,Eclipse,Classpath,Package,假设我有一本属于org.cadenhead.library包的类TreansferBook 我读到Java 2 SDK和Java工具在以下位置查找包: 1输入java命令的org\cadenhead\library子文件夹 第一个问题是,在Eclipse中,修改java命令输入位置的选项在哪里 我甚至不知道你会如何在命令行上做到这一点;会是这样吗 C:>cd 目录是否为工作区和项目目录?包裹就在这一头吗 C:\\java org\cadenhead\library 2类路径设置中任何文件夹的or

假设我有一本属于org.cadenhead.library包的类TreansferBook

我读到Java 2 SDK和Java工具在以下位置查找包:

1输入java命令的org\cadenhead\library子文件夹

第一个问题是,在Eclipse中,修改java命令输入位置的选项在哪里

我甚至不知道你会如何在命令行上做到这一点;会是这样吗

C:>cd

目录是否为工作区和项目目录?包裹就在这一头吗

C:\\java org\cadenhead\library

2类路径设置中任何文件夹的org\cadenhead\library子文件夹

我知道类路径告诉jvm类和包的位置。同样,正如我上面所问的,这是workspace/project/的子文件夹吗

3类路径中java归档文件(JAR)的org\cadenhead\library子文件夹


最后,这是什么?

当使用像eclipse这样的IDE时,您不需要设置任何内容。IDE已经知道您的代码在哪里,并且可以适当地设置类路径。这不是你需要担心的事情,这是使用IDE的好处之一


java从何处运行并不重要。重要的是,java命令的类路径被设置为包含类文件的根目录(在您的情况下是/org的父目录)和您可能拥有的任何依赖jar文件。

关于类加载和Eclipse的一些事项:

  • JVM(和编译器)在类路径上列出的每个目录和每个JAR文件中查找类。例如,如果您有一个类路径,如:CLASSPATH=c:\workspace\myproject;some_library.jar,则VM将在中查找类org.cadenhead.library.SomeClass

  • c:\workspace\myproject\org\cadenhead\library
  • 在JAR文件中包含的org\cadenhead\library目录中
  • 在Eclipse中,类路径上的默认目录是工作区中的“bin”目录,以及所有链接的项目和JAR文件

  • 调用“java”命令的位置是项目目录本身

  • 在Eclipse中,Java项目应该已经有一个根源文件夹——您不需要设置任何东西。什么是什么?所以包放在根目录中还是放在其他目录中。如果是这样,包是否可以包含来自不同项目中不同目录的类?包的根位于项目的任何源目录中,并且源目录在项目设置中配置。是的,项目可以依赖于其他项目,但我不知道它的粒度有多大,例如,我不知道你是否可以说“项目A依赖于项目B中的类x、y、z”@DaveNewton我不是指依赖于其他项目的项目,我是指来自使用其他项目中的类的项目的包。依赖于其他项目中的类的项目是依赖于其他项目的项目。如果它不是另一个Eclipse项目,那么您可以将类从项目A导入项目B,或者创建外部依赖项。开始查看项目构建路径和库选项;这比在这里等待人们回答问题要快。