java编译器保持其导入映射的位置

java编译器保持其导入映射的位置,java,import,package,Java,Import,Package,我是java新手。我想知道我什么时候写 import{SOME\u PACKAGE\u NAME} 它在哪里搜索文件夹?是否有任何通用文件夹或映射文件可用于搜索给定的包?项目的所有目录和Jar的所有目录都将添加到类路径中。从类路径导入的类 若编译器在编译时并没有发现错误,那个么您将看到错误 如果在运行时未找到它们,则根据情况发生。Java中的导入与动态语言中的require或类似的语义不相同。它们不指向文件夹或模块;它们仅用于类型名称解析:将简单名称转换为完全限定名称。这相当于在代码中使用全名:

我是java新手。我想知道我什么时候写

import{SOME\u PACKAGE\u NAME}


它在哪里搜索文件夹?是否有任何通用文件夹或映射文件可用于搜索给定的包?

项目的所有目录和Jar的所有目录都将添加到类路径中。从
类路径导入的类

若编译器在编译时并没有发现错误,那个么您将看到错误


如果在运行时未找到它们,则根据情况发生。

Java中的导入与动态语言中的
require
或类似的语义不相同。它们不指向文件夹或模块;它们仅用于类型名称解析:将简单名称转换为完全限定名称。这相当于在代码中使用全名:

new java.util.ArrayList<>();
newjava.util.ArrayList();
编译器将定位
java.util.ArrayList
或任何其他类的定义的位置未指定,实际上它将位于JRE库中、添加到编译器类路径的JAR中,或者位于与.java文件相同的源代码项目中


请特别注意,编译过程中类的位置可能与运行时完全不同:当您为Java EE容器编译代码时,您将在本地拥有一个Java EE接口的归档文件以供参考,但在运行时,这些将是容器提供的类。

它在类路径中搜索它搜索在类路径中指定的目录(使用
java
命令传递的参数)或
yourJavaRuntimeEnvironment/lib/rt.jar
(对于
java.util.List
等标准类)@Pshemo不是
java
,而是
javac
。运行时对导入一无所知。要阅读的Wiki页面:。但要注意“我对Java不熟悉”类型的问题;无论你要问什么问题,很有可能你已经问过了。谢谢你的建议。。但是我试着搜索它,但可能是我不知道要搜索的确切单词@金米