`
qq4628241
  • 浏览: 62623 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Idea web工程的理解

    博客分类:
  • IDE
阅读更多
首先理解几个概念
Compile、Make和Build的区别

针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。

编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。Java的编译会将java编译为class 文件,将非java的文件(一般成为资源文件、比如图片、xml、txt、poperties等文件)原封不动的复制到编译输出目录,并保持源文件夹的目 录层次关系。

在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
1、Compile:只编译选定的目标,不管之前是否已经编译过。

2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)

3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。

在idea中make module的作用就是编译当前项目修改过的内容,比如修改过的java文件
command+F9 也是编译的作用




介绍工程结构
ProjectSetting
Project 理解为当前工作空间,这里的工作空间为dev
Modules 当前工作空间中的项目模块
比如:
yt-account
yt-coms
yt-posweb
yt-sso
等都是工作空间中的具体项目,这里的每一个项目都是一个完整的web工程
Libraries 顾名思义,就是当前的包依赖
Facets 是指描述项目的重要配置,比如对于web工程来讲,最重要的2个概念
a. Deployment Descriptors 工程启动配置描述文件:    web.xml文件
b. Web Resource Directories  web资源文件:context root下的文件,包括js,css,jsp,WEB-INFO/* (classes,lib)
Artifacts 打包后的产物,可以是归档比如*.war,*.jar,  也可以是存打包文件树形式的工程结果集

OK,从这里开始一个一个介绍

Project
主要设置当前工作空间的名字,设置SDK及JDK
设置了一个通用的编译输入地址,当然,我们对各个模块会配置自己对应的编译地址,所以这里也可以不设置通用的编译输出地址


Modules
3个重要的概念
source 编译的源文件位置,如java,资源文件*.xml, *.properties, 一般情况这里有5种设置,生产运行的class源源路经,生产运行de资源源路经,测试运行的class源路经,测试运行的资源源路经,需要在打包时排除的Excluded文件源源路经
Paths
Dependencies


path 设置了编译java文件完成后的输出路经,并且这里指定了我们的输出路经由module自己设定,不适用Project设置的全局编译输出路经。


dependencies 设置依赖
这里设置了jdk为1.8
通过‘+’按钮添加工程jar包依赖和服务器jar包依赖,需要注意的是,jar包依赖设置了依赖范围,如compile编译后包含,provide编译时依赖但编译后不打包到具体的*.war中


Libraries 设置依赖jar包组,为了在dependencies步骤中更清晰快捷的引用依赖的jar包,这里可以设置一些别名来圈定一些列的jar包


Facets,理解为方面。idea里面他是指那方面呢?当然,在这里它描述的是对应项目的结构
web是当前项目的类型,
Web Module Deployment Descriptor 就是指 web.xml项目启动配置文件
Web Resource Directories 项目资源文件所在位置,资源文件有很多,包括js,css,jsp等等
Source Root 项目中java文件位置



Artifacts 结晶,产物。这里就是说打包后用于生产发布的东东
Output directory 说明了打包后保存这个产物的位置
Web Application:Archive  说明使用了归档形式,就是打包后是一个sso.war的文件
如果使用Web Application:Exploded 则打包后,依旧是一个文件树形目录结构的产物
起它的就是不同的规范大的不同的包,有兴趣自己查资料

output Layout     Validation  Pre-processing Post-processing
通过这些词的意思,你可以知道,他就是模仿ant,maven等打包工具,一个打包的lifecycle生命周期的顺序

对于一个web工程来讲,最重要的j2ee规范概念就是里面有一个META-INF/MANIFEST.MF工程描述文件,
WEB-INF/web.xml  工程启动配置文件,  WEB-INF/lib  第3方jar包依赖, WEB-INF/classes 本工程java代码编译输出地址
context root 就是指 ‘WebContent’directory contents 
在artifacts配置模版中都体现出来了



SDK
就是本工作空间的jdk


Global Libraries 就不介绍了,指的全局jar包依赖组的别名管理

Problems,这个玩意很重要,如果工作空间的项目配置有问题,这里会给出Problem的提示,有些时候,可以在这里通过阅读问题内容,点击提示的fix自动修正错误。当然有些时候,还是需要充分理解以后手动修复的。

如果打包呢?
idea 中 Build选项,


我已经配置了很多中打包方式,包括打成*.war包的,打成文件树形结构的,idea打包和ant,maven打包都很像,执行对应的target或者phase就可以打出我们想要的产物了
这里需要注意的是Action默认配置有3种,Build , Rebuild, Clean.
Build会根据项目文件是否发生改变,实现智能聪明的效率高的打包;
Rebuild不管文件是否发生改变,都会删除原来打包的文件,重新打包
Clean就是直接删除上一次打包的文件



配置服务器,这里使用tomcat作为介绍的对象
点击Run  -》 Edit Configuration
增加tomcat server的步骤就不介绍了,太简单
这里注意下
on 'Update' action
on frame deactivation
这里设置成 Update classes and resources 是为了debug调试用的
Before launch:Make, Build Artifacts, Activate tool window  这个配置中Make是用来针对src/*.java文件编译到WEB-INFO/classess下, Build Artifacts是打包生成打包命令中配置的文件形式到指定位置, Activate tool Window我理解的是上面
配置的浏览器Chrome,当tomcat服务器启动完成后用来自动打开当前打包的工程,展示内容到浏览器

分享到:
评论

相关推荐

    IDEA 部署Web工程&Tomcat.docx

    首先,我们来理解一下Web工程和Tomcat。Web工程是指基于Web技术构建的应用程序,通常包括HTML、CSS、JavaScript等前端资源,以及Servlet、JSP等后端代码。Tomcat是一款开源的Java Servlet容器,它实现了Java EE中的...

    Idea 部署Web项目

    理解并掌握这些步骤,可以让你在Idea中更有效地管理和部署Web项目。在实际工作中,根据项目需求,你可能还需要处理更多细节,比如调整Tomcat的配置文件、配置日志、处理依赖冲突等。总的来说,熟练使用Idea部署Web...

    maven工程转web工程

    然而,有时我们可能需要将一个普通的Maven工程转换为Web工程,以便于部署到Web服务器上运行。这个过程涉及到对项目的配置进行一定的调整,确保其符合Web应用程序的标准结构和配置要求。以下将详细介绍如何进行这个...

    Java web 购物车Idea工程ServletCartDemo

    【Java Web 购物车Idea工程ServletCartDemo】是一个基于Java Web技术实现的购物车示例项目,主要用于展示如何在Web应用中处理用户的购物行为。该项目利用了Servlet技术来处理HTTP请求,实现了用户添加商品到购物车、...

    IDEA下maven新建servlet3.x/web3.x工程模版

    【标题】"IDEA下maven新建servlet3.x/web3.x工程模版"涉及到的主要知识点是使用IntelliJ IDEA(IDEA)结合Maven构建一个支持Servlet 3.x和Web 3.x标准的Java Web项目。Maven是一个强大的项目管理工具,能够帮助...

    IDEA创建Web工程

    本篇文章将详细介绍如何使用IDEA创建一个简单的Web工程。 首先,我们从创建一个新的空工程开始。在IDEA中,通过“文件”菜单选择“项目”,然后选择“空项目”(Empty Project),点击“下一步”,并给项目命名。...

    idea创建基于maven的web工程共6页.pdf.zip

    【标题】"idea创建基于maven的web工程共6页.pdf.zip" 提供的信息表明,这是一个关于使用IntelliJ IDEA(简称Idea)创建基于Maven的Web项目的教程文档,内容可能涵盖了6个主要步骤或章节。Maven是Java开发中的一个...

    将java工程转为web工程(Myeclipse无法add web capabilities的时候)

    首先,我们需要理解Java工程与Web工程的区别。Java工程主要是用于开发桌面应用或服务端应用,而Web工程则专门用于构建基于HTTP协议的Web应用程序,如Servlet、JSP等。Web工程通常包含Web-INF目录,里面包含了web.xml...

    用IDEA IntelliJ创建Web项目工程教程+源代码

    总的来说,通过这个教程,你将学会如何在IntelliJ IDEA中从零开始创建一个Java Web项目,理解Web项目的常见结构,以及如何添加和使用流行框架。实践是学习的最佳方式,动手操作并结合提供的源代码,你的Java Web开发...

    搭建web工程,部署weblogic开发环境。

    在IT行业中,搭建Web工程和部署WebLogic开发环境是开发者必备的技能之一。WebLogic Server是由Oracle公司提供的一个企业级Java EE应用服务器,它为构建、部署和管理企业级应用程序提供了强大的支持。以下是对这个...

    由Git版本控制maven管理的简单web工程搭建

    4. 理解Web工程的目录结构和文件布局,特别是`webapp`、`WEB-INF`、`classes`和`lib`的作用。 5. 在`index.jsp`或其他入口文件中编写代码。 6. 配置服务器(如Tomcat或Jetty)及其依赖,确保能够运行Web工程。 通过...

    jsp+javabean构建的web工程

    【jsp+javabean构建的Web工程】是一种经典的MVC(Model-View-Controller)设计模式的应用,主要用于创建动态网页。在这个模式中,JSP主要负责视图展示,而JavaBean则作为模型,处理业务逻辑和数据管理。下面将详细...

    基于SpringMVC+Tomcat搭建的WEB工程

    在本文中,我们将深入探讨...这个基础的Web工程示例将为你提供学习和实践的平台,帮助你更好地理解和掌握Web开发的核心技术。随着技能的提升,你可以进一步学习Spring Boot、MyBatis等框架,以实现更复杂的业务需求。

    IntelliJ IDEA 12 配置webapp项目和导入Eclipse工程

    标题“IntelliJ IDEA 12 配置webapp项目和导入Eclipse工程”指的是一个教程,讲述了如何在IntelliJ IDEA 12版本中配置Web应用程序项目,并且从Eclipse环境中导入已有的工程。这个过程对于开发者来说至关重要,因为...

    IntelliJ IDEA10.0 Web项目部署文档

    1. **理解Project与Module的概念**:在IntelliJ IDEA中,“Project”类似于Eclipse中的“workspace”,而“Module”则类似于Eclipse中的“project”。因此,我们首先需要创建一个“Project”。 2. **创建Project**...

    Idea创建的Servlet工程

    首先,创建Servlet工程的第一步是在Idea中选择"New Project",然后在项目类型中选择"Java",进一步选择"Web"模板。在配置过程中,需要确保添加了Tomcat或Jetty等Web服务器支持。接着,创建一个新的Maven或Gradle项目...

    IDEA下使用maven构建web项目(SpringMVC+Mybatis整合).zip

    首先,我们需要理解这三个核心组件:IDEA是流行的Java开发集成环境,Maven是项目管理和构建工具,而SpringMVC和Mybatis则分别是用于构建Web应用和数据库操作的框架。 ### IDEA与Maven **IDEA** 是由JetBrains公司...

    手写 tomcat IDEA工程

    【标题】"手写 Tomcat IDEA工程"是一个实践项目,旨在帮助开发者理解Web服务器的核心原理,特别是Apache Tomcat的工作机制。Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范,使得...

    IDEA入门使用.pdf

    - IDEA能生成Java API文档(javadoc),便于其他开发者理解和使用你的代码。 通过以上步骤,开发者能够熟练掌握IDEA的基本使用,从而高效地进行Java及相关框架的开发工作。在实际开发过程中,不断探索和学习IDEA的...

    Java WEB 工程实例

    总之,Java Web工程实例提供了一个实际操作的平台,让开发者能够将理论知识应用于实践,提高对Java Web开发的理解和技能。通过深入研究和实践,开发者可以掌握一套完整的Java Web开发流程,为构建复杂的企业级Web...

Global site tag (gtag.js) - Google Analytics