前面我们描述了如何使用maven搭建一个最基本的Java Project 框架。在实际生产应用中,一般不会仅仅建立一个最基本的Java Project项目,目前 Java Web 开发已经成为Java的主要应用之一,所以本节我们来讲解一下如何使用Eclipse搭建Maven Web项目。

开发环境

  • 开发平台:Eclipse Neon.2 Release (4.6.2)
  • JDK版本:java version "1.8.0_121"
  • maven版本:Eclipse Neon.2 Release(4.6.2)自带maven工具,版本为3.3.9

Maven Web 环境搭建

  首先打开eclipse开发工具,点击File->New->Other...

  点击后进入new界面,如下所示:

  在Wizards输入框中输入maven,在单选框中选择Maven Project,点击Next> :

  根据自己的实际情况填写工程存放路径,也可选择Default WorkSpace Location,填写完成后点击 Next >:

  在CataLog类别中选择All CataLogs,然后从下面的单选框中选择 org.apache.maven.archetypes maven-archetype-webapp  1.0 选项,点击 Next >:

  在三维坐标位置分别填入group id, artifact id 和 version,然后点击Finish。完成后Project Explorer 中会出现新建的mavenWebDemo项目:

  从图中可以看出maven所依赖的JRE System Library 是J2SE-1.5,并不是我们开发环境中所需要的1.8。右键JRE System Library,选择Properties:

  点击后进入如下界面:

  选择Workespace default JRE,点击OK,这样就引用了本机配置的jre版本。

  右键点击项目,选择Properties,进入如下界面,左侧选择框内点击 Java Compiler

  在右侧的配置界面里面依旧显示 Compiler compliance level 为1.5,选择 1.8,点击Apply,出现如下对话框:

  点击Yes,对话框消失,点击OK。

  右键点击项目名称,选择Properties,进入项目属性页面,左侧选择Project Facts:

  一般情况下,如果上图中的Dynamic Web Module 为2.3,可能不是我们开发需要的版本,同样的还有Java和JavaScript等等,但是当我们选择自己需要的版本时,系统却无法点击 Apply 和 OK,例如我们将Dynamic Web Module修改为3.0:

  此时,我们可以通过项目配置文件进行修改。从文件系统进入workspace 工作目录下,进入本项目(mavenWebDemo)目录下的.settings文件夹内,.settings是一个隐藏文件夹,在Windows环境下需要读者设置显示出来。下面主要修改该目录下的三个配置文件内容:

  org.eclipse.jdt.core.prefs

eclipse.preferences.version=
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8

  如果配置文件中的数据为1.5,则修改为1.8。

  org.eclipse.wst.common.component

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.8.0">
<wb-module deploy-name="mavenWebDemo">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="context-root" value="mavenWebDemo"/>
<property name="java-output-path" value="/mavenWebDemo/target/classes"/>
</wb-module>
</project-modules>

  如果配置文件中的project-version="1.5.0",则修改为1.8.0

  org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.8"/>
</faceted-project>

  将<installed facet="jst.web" version="2.3"/>修改为3.0,将<installed facet="java" version="1.5"/>修改为1.8,同理如果要修改其他参数,配置文件中按照自己需求修改即可。修改完成后可千万别忘记保存修改过后的文件,保存成功后重启eclipse环境。然后右键项目名称,选择Properties,在左侧选择栏中选择Project Facts,此时可以看到右侧的配置已经是我们想要的配置啦:

  进入项目属性配置页面(上图页面),左侧框中选择Java Build Path,然后在右侧选择栏中选择 Order and Export:

  发现右侧信息框中有两个❌,这可是不能容忍的,这是因为这两个路径下对应的文件夹不存在,可是当我们按照路径去自己手动建立的时候系统却告诉我们文件夹已经存在,不能重复建立同名文件夹。解决方案如下。在上面中间的界面中选择Source进入如下界面:

  将两个标有❌的根路径选择上,然后点击 Allow output folders for source folders 前面的✅,此时✅消失,然后再次点击✅,对号又出现,然后点击Apply,点击OK,此时从项目结构中就已经有了这个两个路径文件夹啦:

  下面还有最后一件事情要做,进入WEB-INF目录下的web.xml配置文件,内容如下:

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>

  有时候系统在这个文件下报错,这是因为我们使用的Dynamic Web Project 版本为3.0,而该配置文件是2.3版本对应的配置文件,修改其内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0"> </web-app>

  保存修改内容,到此为止,我们的Maven Web Project 建立成功啦,如果你建立的项目还有什么报错的话,请上网查询解决方案。


maven web框架搭建的更多相关文章

  1. 使用Yii2的Web框架搭建微服务框架

    方法 使用自己的Yii2镜像作为基础 使用Yii2的Web框架搭建,为了节省搭建Yii2框架的时间,直接使用现有的Yii2项目,删除了业务相关的逻辑类,将这个代码库作为搭建微服务框架的基础,本身已经积 ...

  2. maven 基本框架搭建

    在平时的开发中还是在写blog时,在项目实例开始都会需要一遍一遍的介绍maven框架搭建,重复性的工作让我觉得烦恼,现在展现一下Java的核心思想“重复利用”,将这个重复性的描述提取出来一次性介绍,以 ...

  3. 基于gin web框架搭建RESTful API服务

    这篇主要学习go项目中的项目结构.项目规范等知识,ROM采用的database/sql的写法. 1.技术框架 利用的是ginweb框架,然后ROM层选用database/sql,安装mysql驱动.安 ...

  4. 使用Maven+ssm框架搭建一个web项目

    1,前期准备:Eclipse(Mars.2 Release (4.5.2)).jdk1.7.tomcat7.maven3.2.1 2.使用eclipse中的maven新建一个web项目 点击next: ...

  5. Maven+SSM框架搭建【spring+springmvc+mybatis】

    本案例用到:ssm[spring+springmvc+mybatis]框架 数据库:mysql (推荐使用mysql 或者 sqlserver  .oracle太大,一般大型项目才会用到) 开发工具: ...

  6. springmvc+mybatis+maven项目框架搭建

    项目的目录

  7. eclipse maven web环境搭建

    选择创建new project 勾选跳过创建类型选择(让eclipse创建标准maven项目) 填写组织ID,唯一ID,注意:如果选择打包类型为war包时,会生成web类型的maven工程 修改JRE ...

  8. spring + springMVC + spring Data + jpa + maven 项目框架搭建

    首先看一下项目结构: 所用到的jar(pom.xml): <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...

  9. maven/ssm框架搭建

    好久没有写java了,昨天学了下maven,不用手动的下载和添加jar包,实在是太方便. ------------------------------------------------------- ...

随机推荐

  1. AngularJS 中的作用域

    问题引入 使用 Angular 进行过一段时间的开发后,基本上都会遇到一个这样的坑: 123456789101112 <div ng-controller="TestCtrl" ...

  2. mybatis的#和$的差别

    在项目中假设使用mybatis保存形如"1,2,3"这种字符串.你须要使用"#"号取值.假设使用$符号会报错, 假设是查询形如"id in (1,2, ...

  3. c语言优先级和结合性

    C语言的运算符众多,具有不同的优先级和结合性,我们将它们全部列了出来,方便大家对比和记忆: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   ...

  4. $q服务的使用

    1. 创建一个Service,去服务器读取数据: // $q 是内置服务,所以可以直接使用 ngApp.factory('UserInfo', ['$http', '$q', function ($h ...

  5. pentestbox使用教程

    pentestbox工具列表:https://tools.pentestbox.org/ freebuf入门实战:http://www.freebuf.com/sectool/125881.html ...

  6. Odoo 8.0 new API 概述

    相对于7来说,8的api改进了不少,用官方的话来说就是更加面向对象了. 下面探究一下具体的改动. 准备知识:python装饰器的使用 http://blog.csdn.net/thy38/articl ...

  7. Android——Bundle savedInstanceState的作用

    写过Android程序的都知道Activity中有一个名称叫onCreate的方法.该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始.可是有一点容易被忽视,就是onCr ...

  8. 关于javascript遍历对象

    1:遍历对象属性var obj={a:'aa',b:'bb'} for(var i in obj) { alert(i); //输出 a b } var obj={'a':'aa','b':'bb'} ...

  9. Elixir语言

    Elixir是一个基于Erlang VM的函数式元编程语言(类似Ruby),通过动态语言的灵活的语法和宏能够利用Erlang建立一个并发 分布 失败冗余的高质量代码

  10. 一条SQL语句查询两表中两个字段

    首先描述问题,student表中有字段startID,endID.garde表中的ID需要对应student表中的startID或者student表中的endID才能查出grade表中的name字段, ...