Eclipse下的java工程目录问题和路径问题理解

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参数的

时间: 2024-10-12 11:20:49

Eclipse下的java工程目录问题和路径问题理解的相关文章

Eclipse下的Java反编译插件 查看源代码不再困难

Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class Viewer无缝集成,能够很方便的使用本插件查看类库源码,以及采用本插件进行Debug调试. 转载自:http://bbs.csdn.net/topics/390263414 Eclipse Class Decompiler插件: http://download.csdn.net/detail/ibm_hoojo/

使用Eclipse上传java工程到github

使用Eclipse上传Java工程到github 1.登录github账户,Create a new repository(创建一个知识库)名称为:eclipse_upload 创建完成之后,跳转到以下界面. 注意:https://github.com/heyangyi/eclipse_upload.Git地址是待会使用eclipse上传代码到知识库的地址. 2.打开eclipse创建一个名为:eclipse_upload_git的javaWeb项目.添加index.jsp页面,在body部分添

(转)eclipse下误删java文件如何找回

原文:http://blog.csdn.net/harry211/article/details/8217676 eclipse下java问价被误删后,回收站找不到误删的文件,eclipse集成的svn日志控制台显示: 以下方式可能能找回你的误删文件: 选中工程——左键到菜单——Restore from Local History就可以找回误删的文件了.

如何修改eclipse下tomcat的工程所生成的项目文件的名称

第一种方法:在tomcat中的conf目录中,在server.xml中的,节点中添加: < /Context> 第二种方法:将web项目文件直接拷贝到webapps 目录下. 第三种方法:在conf目录中,新建 Catalina(注意大小写)\localhost目录,在该目录中新建一个,名字可以随意取,只要和当前文件中的文件名不重复就行了,该的内容为: < /Context> 第四种,eclipse下修改项目名导致tomcat内发布名不一致的解决方法: (我用的第四种方法,完美解决

Eclipse下导出java程序可执行的jar包图片无法显示问题的一种解决方法

说明:在eclipse中运行java程序的时候一切正常,可是当把jar包导出的时候却发现图片没法显示,这估计是java程序的各种配置和路径问题所导致,后来找到一种解决方法,供遇到这方面问题的学习java程序的鞋同参考: Java项目下的目录结构如下: 其中class类放在包:package accpedu; (即实际是在如上bin/accpedu文件夹下面) 通过下面的方法来引用图片时,在eclipse里面执行是可以正常显示图片的: ImageIcon image1 = new ImageIco

eclipse下生成Java类图和时序图,生成UML图

最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理了些 1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF 采用eclipse在线安装方式安装就好. eclipse在线安装GEF的地址:http://download.eclipse.org/tools/gef/updates/releases/ 安装好GEF后,安装AmaterasUML 先到如下地址下载:http://sourceforge.jp/projects/amateras/download

使用Eclipse建立一个JAVA工程和WEB工程

Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),这是进行Java开发的必不可少的Java开发环境. 启动Eclipse,第一次启动软件时,会提示选择工作空间(WorkSpace),可在硬盘上新建一个文件夹作为工作空间,这个文件夹将会保存你所编写的所有的源代码. 如何建立java工程参见 : htt

java+selenium——简单截图+保存在java工程目录下=====简单截图+时间+保存在java工程目录下

package rjcs; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.List; import org.apache.commons.io.FileUtils; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa

eclipse Dynamic web project 工程目录

如图,我创建了一个work 的web project,当工程完成之后,部署在服务器上时,整个work工程会被打包成一个war包,如 除了可以在eclipse上运行,工具会帮我们自动部署在服务器上之外,我们也可以手动进行部署,比如war包放在D:\tomcat\apache-tomcat-6.0.47\webapps 目录下 (以tomcat服务器为例),然后启动服务器,即可正常部署. 无论是工具自动部署还是手动部署,在服务器启动之后,会解压项目文件,即work.war 这个包 ,如图: 当web