Eclipse下的java工程目录问题和路径问题理解
2017-02-17 22:09
375 查看
1.Eclipse下的java工程都有哪些文件夹?
答:new java project时,会默认创建SRC源代码目录,并默认创建一个bin目录作为输出目录,输出目录是指生成的class文件和配置文件地址。
所以Eclipse创建的java工程,默认就两个文件夹,src和bin。
2.当点击Eclipse运行时候java jdk会默认执行编译,并将编译后的java文件,生成class文件放到项目目录下的bin文件夹里,以.class命名结尾。
注:即使某个类有bug错误,不能编译通过。但只要点击了编译运行,就会在bin文件夹下生成这个类的class文件。
3.最重要的目录是bin目录,而非src目录。bin目录是整个项目的输出目录,输出目录,意味着不论是编译后的class文件还是项目用到的propertier文件,最终都会输出到bin目录下。
项目最后的结果是jar文件,jar文件里面也只有class文件夹,并不会有src文件夹,而是将src下的所有包名转换为文件夹保存在bin目录下,而其他Test根目录下的比如自己创建的config文件夹并不会在jar包的bin目录下存在,但是会将所有的非src文件夹下的其他文件夹所有东西都保存到bin目录下。
4.java编译器(jdk)能进行编译项目和组织项目的一切前提是:classpath。java.exe虚拟机有个cp参数,eclipse生成的java工程,也会有一个classpath参数,最终eclipse会将自己的classpath参数传给java.exe的参数cp,用于java虚拟机运行操控。比如,你在项目Test下创建的文件夹config,是不会被读取到的,因为eclipse默认的classpath只包括src目录,bin目录jdk目录,和依赖的jar包目录。这也就是为什么我们引进jar包时,一定要add to build path,包括创建文件夹时,也要add to source。这一切都是为了添加进claspath路径里面。
5.jvm最红会根据classpath下的路径,将全部输出,输出到bin目录下。包括引进的jar包等等。
6.所以classpath,是虚拟机编译项目的基础,是虚拟机编译组织项目的基础。
7.classpath是虚拟机编译组织项目的基础。而项目根目录是创建文件,引进路径的基础。
8.buildpath就是classpath,buildpath就是classpath。是jvm编译组织生成项目的根本。只有添加进buildpath(classpath),才能被jvm读取到,也就是才能被代码读取到。
8.每个项目都有一个默认的根路径。Eclipse下默认根目录是Test下,直接就是工程目录下。而生成的Jar包,默认根目录是bin下。
9.看一下工程文件夹下的.classpath文件:4部分,src问价,bin文件,jdk路径,jar包路径
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
10.项目代码里面,又是怎样获取项目或者文件或者类的绝对路径的呢?
答:因为有了classpath的存在,所以我们在读取配置文件或者涉及文件路径操作的时候,在代码里只需要写相对 相对路径就可以,相对路径就是参照classpath的路径,也就是参照最终的bin文件夹路径。如果想获取绝对路径,可以通过类的加载器,随时获取所在类的绝对路径,class.getclassload().getResource("");即可
11.顺便说一下Eclipse是怎么调用本地jdk的及本地jdk的虚拟机的,是依靠你本地配置的JAVA_HOME环境变量,Eclipse会自动读取这个环境变量地址。进而编译运行项目的。进而也就是把Eclipse自己的classpath传递给jvm的cp参数的
答:new java project时,会默认创建SRC源代码目录,并默认创建一个bin目录作为输出目录,输出目录是指生成的class文件和配置文件地址。
所以Eclipse创建的java工程,默认就两个文件夹,src和bin。
2.当点击Eclipse运行时候java jdk会默认执行编译,并将编译后的java文件,生成class文件放到项目目录下的bin文件夹里,以.class命名结尾。
注:即使某个类有bug错误,不能编译通过。但只要点击了编译运行,就会在bin文件夹下生成这个类的class文件。
3.最重要的目录是bin目录,而非src目录。bin目录是整个项目的输出目录,输出目录,意味着不论是编译后的class文件还是项目用到的propertier文件,最终都会输出到bin目录下。
项目最后的结果是jar文件,jar文件里面也只有class文件夹,并不会有src文件夹,而是将src下的所有包名转换为文件夹保存在bin目录下,而其他Test根目录下的比如自己创建的config文件夹并不会在jar包的bin目录下存在,但是会将所有的非src文件夹下的其他文件夹所有东西都保存到bin目录下。
4.java编译器(jdk)能进行编译项目和组织项目的一切前提是:classpath。java.exe虚拟机有个cp参数,eclipse生成的java工程,也会有一个classpath参数,最终eclipse会将自己的classpath参数传给java.exe的参数cp,用于java虚拟机运行操控。比如,你在项目Test下创建的文件夹config,是不会被读取到的,因为eclipse默认的classpath只包括src目录,bin目录jdk目录,和依赖的jar包目录。这也就是为什么我们引进jar包时,一定要add to build path,包括创建文件夹时,也要add to source。这一切都是为了添加进claspath路径里面。
5.jvm最红会根据classpath下的路径,将全部输出,输出到bin目录下。包括引进的jar包等等。
6.所以classpath,是虚拟机编译项目的基础,是虚拟机编译组织项目的基础。
7.classpath是虚拟机编译组织项目的基础。而项目根目录是创建文件,引进路径的基础。
8.buildpath就是classpath,buildpath就是classpath。是jvm编译组织生成项目的根本。只有添加进buildpath(classpath),才能被jvm读取到,也就是才能被代码读取到。
8.每个项目都有一个默认的根路径。Eclipse下默认根目录是Test下,直接就是工程目录下。而生成的Jar包,默认根目录是bin下。
9.看一下工程文件夹下的.classpath文件:4部分,src问价,bin文件,jdk路径,jar包路径
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
10.项目代码里面,又是怎样获取项目或者文件或者类的绝对路径的呢?
答:因为有了classpath的存在,所以我们在读取配置文件或者涉及文件路径操作的时候,在代码里只需要写相对 相对路径就可以,相对路径就是参照classpath的路径,也就是参照最终的bin文件夹路径。如果想获取绝对路径,可以通过类的加载器,随时获取所在类的绝对路径,class.getclassload().getResource("");即可
11.顺便说一下Eclipse是怎么调用本地jdk的及本地jdk的虚拟机的,是依靠你本地配置的JAVA_HOME环境变量,Eclipse会自动读取这个环境变量地址。进而编译运行项目的。进而也就是把Eclipse自己的classpath传递给jvm的cp参数的
相关文章推荐
- Eclipse下的java工程目录问题和Classpath路径问题理解
- eclipse 利用windows资源管理器打开当前文件所在目录 | eclipse下的Java工程路径问题
- Eclipse中java工程中引用dll库的路径设置 && System.loadLibrary()调用Dll路径问题
- 理解eclipse(java工程)的工作目录
- 理解eclipse(java工程)的工作目录
- 【原创】eclipse的JavaEE web工程中存在WebContent目录如何导入MyEclipse问题的解决
- 理解eclipse(java工程)的工作目录
- eclipse,工程/文件目录,相对路径(真心的详细~)
- 解决Eclipse中Java工程间循环引用而报错的问题
- eclipse svn插件工程目录上不能显示svn连接路径,目录全带有问号
- eclipse,工程/文件目录,相对路径(真心的详细~)
- eclipse下面的工程识别不出java的基本类问题解决
- 如何获得java工程或者java web工程中的src目录中的文件和webinf目录路径
- 关于JAVA工程路径的问题【转】
- Eclipse下,SVN迁出JavaWeb工程问题汇总及解决方案
- 如何将Eclipse 的JavaWeb工程部署到Tomcat的webapps目录下
- eclipse,工程/文件目录,相对路径
- JWFDv0.96二次开发包导入ECLIPSE工程JAR包路径问题
- Ubuntu 9.10下 Eclipse 新建Java工程按扭无反应问题
- JWFDv0.96二次开发包导入ECLIPSE工程JAR包路径问题