Eclipse管理Java工程(j2se/j2ee/maven)
Eclipse管理J2SE/J2EE(Maven)项目
eclipse是一个集成开发工具,有编译,运行,打包部署等功能。eclipse可以新建多种项目,不同的项目有不同的IDE层次结构,方便用户管理资源和提高开发效率。这些IDE展现结构并不等于workspace的文件层次结构,workspace的文件层次结构通常是基于项目类型决定的,通过eclipse运行项目,eclipse会根据自己的元数据(./settings, .classpath, .project)将workspace里不同目录下的文件资源进行整合,使用程序可以正确的编译和运行。
Eclipse在新建项目的时候会自动生成项目IDE以及workspace结构,并且包含一些默认的配置文件,比如.project、.classpath、.settings目录下的所有文件等,这些文件是Eclipse项目的元数据,描述了一个Eclipse项目。如下展示了workspace中默认生成的项目层次结构,java/web/maven有不同的结构,分别复合j2se/j2ee/maven的规范。j2se包含src目录,j2ee还包含WebContent等web资源的目录,maven项目都带有pom文件并且争对j2se.j2ee有不同的结构。
为什么遇到找不到路径的错误?
http://blog.sina.com.cn/s/blog_499fb18d0100ji17.html
.project
.project是Eclipse项目必须有的文件, 其中name是工程的名字,buildSpec是构建规范,nature是项目的特性。通过Eclipse指定不同的项目类型或者是添加不同的项目特性本质上都是更改.project文件。
maven-quickstart(java)项目的描述文件
maven-web(j2ee)的项目描述文件
.class
.classpath是Java项目必须有的文件,指定了项目编译,打包的具体配置。
maven-quickstart(java)的编译部署描述文件
maven-web(j2ee)的编译部署描述文件(maven.pomderived表示受maven托管)
Eclipse Java Project
新建完默认的Java项目,层次结构如下:
Java源代码存于src下面,可以通过packages的形式组织代码的层级结构,Eclipse会直接寻找main方法编译运行。
Java项目,测试的源代码和开发的源代码通常在两个srcFolder里,运行的时候可以有选择的选择要运行的sourceFolder,此时Eclipse会选择指定sourceFolder下的文件,寻找main方法进行编译和执行。
如果使用到了资源文件,无需编译运行(图片,配置文件),往往单独起一个resouceFolder放置这些资源文件来进行资源和代码的分离。
OS上对应的目录空间
Eclipse Web Project
新建完默认的Java Web项目,Eclipse和OS(MAC)上层次结构如下,符合Web容器的规范(所有内容在WebContent目录下,静态资源在WebContent根目录下,动态资源在WEB-INF下,WEB-INF包括web.xml和lib以及classes;srcFolder下的内容会被编译放到WEB-INF的classes目录下)
新建web.xml(配置工程目录映射,web项目的核心配置文件),Web容器的规范是从WEB-INF目录往下找配置文件,此时运行WebProject会报找不到对应资源(尚未开发任何资源)
新建静态资源index.jsp, Web容器的规范是从WebContent的根目录开始往下找静态文件,直接在此目录下新建index.jsp,运行Web应用,能正常展示:
srcFolder下新建动态web资源, 点击run on server会自动的在build/classes下生成编译过的class文件,并且把代码按指定格式打包到tomcat 上运行。
选中项目,点击”export to war“,将工程打包为war目录并且解压查看,将war包丢到Web容器指定目录下即可工作,结构如下:
Eclipse Maven Java (archeType=quickstart)

SourceFolder&Folder&Package
SouceFolder
- 源代码目录,用于存放Java源代码,在编译的时候会提取sourceFolder里的文件编译成.class文件放在根目录的bin文件夹下。Java项目一般至少包含两个源代码目录,一个用来存放源代码,一个用来存放测试代码,在构建的时候可以选择需要的源代码目录进行构建,这样就可以保证生产环境中的代码不包括测试代码。
- 新建Java项目时系统会自动在根目录下生成一个SourceFolder(src),用户自己新建的SourceFolder也都会放置在根目录下,SouceFolder存在且仅存在于根目录下。新建Maven项目时,直接新建的Java类也是放在SourceFolder下面,而不是名字叫src的Folder下面。
Folder
- 文件夹,用于存放和组织各种资源结构(如Web项目的静态资源, Web项目的启动上下文配置...)。
- 文件夹下可以新建文件夹,形成层次结构。
- 文件夹下不能新建包。
Package
- 用于管理命名空间,防止命名冲突。
- 要按层次结构展示包,需要在eclipse->Project Explorer 里进行设置
1}X3[56HI~%Q.png)
1}X3[56HI~%Q.png)
Eclipse管理Java工程(j2se/j2ee/maven)的更多相关文章
- eclipse中使用Maven管理java工程设置jdk版本为jdk1.8
使用Maven管理Java工程时,maven可以自动下载工程中依赖的jar包,这对于大型的项目非常方便.但在初次使用eclipse新建maven工程时遇到一些问题,我的jdk安装的是1.8版本,在配置 ...
- Eclipse打包java工程
Eclipse打包java工程步骤如下: 1.选择预打包的工程->Export. 2.选择java->JAR file. 3.导出JAR文件设置. 这里有几个选项: Export gene ...
- 像Maven一样构建java项目的目录,更好的管理java工程的源码
都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候 ...
- Eclipse新建Java工程出现红色感叹号怎么解决?
安装了新版本的JDK之后,在Eclipse中新建Java工程出现红色感叹号怎么解决? 其实只要在Eclipse中重新设置一下JDK路径就行了 路径:右键Java工程>>Build Path ...
- Eclipse导入Java工程导入错误
1.在一台电脑A上用Eclipse新建的Java工程,换了一台电脑B,再用Eclipse导入时却出现了错误,工程显示红色叹号,并有如下两个错误提示: The project cannot be bui ...
- 将普通java工程转换成maven工程
在MyEclipse10中将Maven项目转成普通Java项目后,想将Java项目转成Maven项目,结果一下子傻眼了.根本就没有攻略中提到的config标签.仔细一看,喵咪的,人家用的是Eclips ...
- mac eclipse 创建Java 工程
首先创建Java工程testjavapro,创建包testjavapro,接着创建类testjava 参考: https://www.jianshu.com/p/20280b850c95
- 解决Eclipse中Java工程间循环引用而报错的问题
如果myeclipse 报如下错误 A cycle was detected in the build path of project 如果我们的项目包含多个工程(project),而它们之间又是循 ...
- Eclipse建立Java工程中的三个JRE选项的区别(Use an execution environment JRE,Use a project specific JRE,Use default JRE)
本博客部分转载自: http://blog.csdn.net/wdjhzw/article/details/42086615 这篇博客写的非常好,很用心. 一.首先看新建Java Project时候 ...
随机推荐
- 判断List、Map、Set是否为空及效率比较
//如果object为null,则设置为defaultValue ObjectUtils.defaultIfNull(object, defaultValue); //判断集合是否为null Li ...
- hdu 5693 朋友 博弈
朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Descr ...
- javascript权威指南笔记--javascript语言核心(三)
1.var用来声明一个或多个变量.全局变量是全局对象的属性,它无法通过delete删除. 如果var语句中的变量没有指定初始化表达式,那么这个变量的初始值为undefined. 变量声明语句会被提前到 ...
- 关于js运动的一些总结
js运动实现,有两种.一种是速度版,另一种是时间版. 速度版是通过对速度的加减乘除,得出元素的运动数据.时间版是通过对时间进行Tween公式运算,得出元素的运动数据. 速度版运动优点:容易在运动过程中 ...
- 2013 Multi-University Training Contest 3
HDU-4622 Reincarnation 题意:给定一个字符串,有Q次询问,每次询问得出区间[L, R]内有多少个不同的子串. 分析:后缀数组搞,不过hash+dp也能够搞定这题,详解见http: ...
- Windows Live Writer编写Octopress
Windows live Writer是一个可以用来离线编写,并发布博客的工具. Octopress是一个静态博客生成系统.使用群体多是geek,主要有显示代码清晰,git同步,并且不用购买空间的特点 ...
- jquery.validate插件在booststarp中的运用
现在在网络上已经可以找到很多基于bootstarp的表单认证,但是验证的都不全面的,下载后,我们还要理解作者的思路然后进行修改添加,这种修改方式往往适合学习,时间很多的时候.但是我们很多时候是没有时间 ...
- iOS - Swift NSRect 位置和尺寸
前言 结构体,这个结构体用来表示事物的坐标点和宽高度. public typealias NSRect = CGRect public struct CGRect { public var origi ...
- spring之aop概念和配置
面向切面的一些概念: 简单说: 连接点就一些方法,在这些方法基础上需要额外的一些业务需求处理. 切入点就是方法所代表的功能点组合起来的功能需求. 通知就是那些额外的操作. 织入就是使用代理实现整个切入 ...
- JS 和 Java 中URL特殊字符编码方式
前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1. 编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...