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有不同的结构。

Eclipse管理Java工程(j2se/j2ee/maven)

为什么遇到找不到路径的错误?

http://blog.sina.com.cn/s/blog_499fb18d0100ji17.html

.project

.project是Eclipse项目必须有的文件, 其中name是工程的名字,buildSpec是构建规范,nature是项目的特性。通过Eclipse指定不同的项目类型或者是添加不同的项目特性本质上都是更改.project文件。

maven-quickstart(java)项目的描述文件

Eclipse管理Java工程(j2se/j2ee/maven)

maven-web(j2ee)的项目描述文件

Eclipse管理Java工程(j2se/j2ee/maven)

.class

.classpath是Java项目必须有的文件,指定了项目编译,打包的具体配置。

maven-quickstart(java)的编译部署描述文件

Eclipse管理Java工程(j2se/j2ee/maven)

maven-web(j2ee)的编译部署描述文件(maven.pomderived表示受maven托管) 

Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse Java Project

新建完默认的Java项目,层次结构如下:

Eclipse管理Java工程(j2se/j2ee/maven)

Java源代码存于src下面,可以通过packages的形式组织代码的层级结构,Eclipse会直接寻找main方法编译运行。

Eclipse管理Java工程(j2se/j2ee/maven)

Java项目,测试的源代码和开发的源代码通常在两个srcFolder里,运行的时候可以有选择的选择要运行的sourceFolder,此时Eclipse会选择指定sourceFolder下的文件,寻找main方法进行编译和执行。

Eclipse管理Java工程(j2se/j2ee/maven)

如果使用到了资源文件,无需编译运行(图片,配置文件),往往单独起一个resouceFolder放置这些资源文件来进行资源和代码的分离。

Eclipse管理Java工程(j2se/j2ee/maven)

OS上对应的目录空间

Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse Web Project

新建完默认的Java Web项目,Eclipse和OS(MAC)上层次结构如下,符合Web容器的规范(所有内容在WebContent目录下,静态资源在WebContent根目录下,动态资源在WEB-INF下,WEB-INF包括web.xml和lib以及classes;srcFolder下的内容会被编译放到WEB-INF的classes目录下)

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

新建web.xml(配置工程目录映射,web项目的核心配置文件),Web容器的规范是从WEB-INF目录往下找配置文件,此时运行WebProject会报找不到对应资源(尚未开发任何资源)

Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)

新建静态资源index.jsp, Web容器的规范是从WebContent的根目录开始往下找静态文件,直接在此目录下新建index.jsp,运行Web应用,能正常展示:

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)

srcFolder下新建动态web资源, 点击run on server会自动的在build/classes下生成编译过的class文件,并且把代码按指定格式打包到tomcat 上运行。

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

选中项目,点击”export to war“,将工程打包为war目录并且解压查看,将war包丢到Web容器指定目录下即可工作,结构如下:

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse Maven Java (archeType=quickstart)

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)Eclipse管理Java工程(j2se/j2ee/maven)

SourceFolder&Folder&Package

SouceFolderEclipse管理Java工程(j2se/j2ee/maven)

  1. 源代码目录,用于存放Java源代码,在编译的时候会提取sourceFolder里的文件编译成.class文件放在根目录的bin文件夹下。Java项目一般至少包含两个源代码目录,一个用来存放源代码,一个用来存放测试代码,在构建的时候可以选择需要的源代码目录进行构建,这样就可以保证生产环境中的代码不包括测试代码。
  2. 新建Java项目时系统会自动在根目录下生成一个SourceFolder(src),用户自己新建的SourceFolder也都会放置在根目录下,SouceFolder存在且仅存在于根目录下。新建Maven项目时,直接新建的Java类也是放在SourceFolder下面,而不是名字叫src的Folder下面。

Eclipse管理Java工程(j2se/j2ee/maven)

Folder  Eclipse管理Java工程(j2se/j2ee/maven)

  • 文件夹,用于存放和组织各种资源结构(如Web项目的静态资源, Web项目的启动上下文配置...)。
  • 文件夹下可以新建文件夹,形成层次结构。
  • 文件夹下不能新建包。

Package

  1. 用于管理命名空间,防止命名冲突。
  2. 要按层次结构展示包,需要在eclipse->Project Explorer 里进行设置

Eclipse管理Java工程(j2se/j2ee/maven)

Eclipse管理Java工程(j2se/j2ee/maven)
Eclipse管理Java工程(j2se/j2ee/maven)
上一篇:SDL介绍


下一篇:ActiveMQ的queue以及topic两种消息处理机制分析