关于Java中的import语句
test.java
:
import javax.media;
从哪些目录搜索javax.media
?
我想那些由 javac -cp
指定的 CLASSPATH
中的内容当然会被搜索。
但它也会在test.java
所在的目录中搜索吗?
还有其他可能被搜索的地方吗?
test.java
:
import javax.media;
Which directories are javax.media
searched from?
I suppose those in CLASSPATH
specified by javac -cp
will of course be searched.
But will it also search in the directory where test.java
locates?
And are there any other possible places that will be searched?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请参阅您的编译器的规范。对于 sun 的 javac,搜索顺序在 中描述它的手册。
根据手册详细信息的一些内容,
CLASSPATH
环境变量中设置的路径中的类文件,设置-classpath
命令行选项的路径中的类文件,源文件在 '-sourcepath选项的路径中,用户类路径中的源文件(如果未给出
-sourcepath),以及 JVM 的默认引导和扩展路径或由
-bootclasspath和
-extdirs`选项。由于 javax.media 是 JVM 扩展,因此 javac 将在 JVM 的扩展目录中查找,或者在 -extdirs 提供的目录中查找,然后在用户类文件夹中查找,然后在用户源文件夹中查找。
Consult the specifications for your compiler. For sun's javac, the search order is described in its manual.
Depending on a few things the manual details, class files in the paths set in the
CLASSPATH
environment variable, class files in the paths set the-classpath
command line option, source files in the paths from the '-sourcepathoption, source files in user classpath (if
-sourcepathisn't given), and either the JVM's default boot and extension paths or the paths given by the
-bootclasspathand
-extdirs` options.As javax.media is a JVM extension, javac would look either in the JVM's extensions directory, or that provided by -extdirs, then in user class folders, then in user source folders.
简化版本是:它只是类路径中的目录和 jar,但人们通常会放置“.”。在它们的类路径中,这将允许以与任何其他类路径目录相同的方式搜索当前目录下的目录。
The simplified version is: It's only directories and jars in your classpath, but quite often people put "." in their classpath which would allow searching of directories under the current in the same way as any other classpath directory.