码迷,mamicode.com
首页 > Web开发 > 详细

从零开始通过Eclipse 创建Maven web工程

时间:2016-04-24 15:55:05      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

在本次的博文中,我将从零开始一步一步教你怎么在window下创建一个Maven web工程。

一、查看是否已经安装mvn
1、按键盘上的win+R,并输入cmd,如下图所示:
技术分享
2、点击确定,出现dos操作界面,并输入命令:mvn -v 查看是否已经在系统环境变量中配置过mvn。
技术分享
3、如果安装了maven,会出现maven的相应版本号和Java版本号。

二、安装Maven
如果你的计算机上未曾安装过Maven,需要进行这一步错做。
1、百度搜索“Maven 下载”,或者直接去Apache Maven Project的官方网址:https://maven.apache.org/download.cgi#,有如下的四个可选下载包:
技术分享
其中,1是linux下编译后的安装包,2是window下编译后的安装包,3是linux下的源码安装包,4是window下的源码安装包。这里,我们选第2个下载。
2、下载后的Maven的目录如下:
技术分享
我放置的文件位置在D盘下的Maven目录下(D:/maven),可以看到有四个文件夹,这个目录结构和其他java相关的程序类似,其中,bin文件夹中放置着可执行文件(这个我们等下要在系统的环境变量下配置),boot文件夹中放置着配置引导文件,conf中放置着相关的配置文件(包括maven仓库的位置等),lib是执行该程序时需要的相关jar包。
3、设置系统的环境变量支持直接输入maven命令:
3.1 配置变量类型和变量值:
技术分享
3.2 在path下将上述变量配置进去:
技术分享
此时,进行第一步操作,可以看到输入maven -v 可以查看相应的版本号了。
4、配置maven本地仓库的位置
技术分享
修改,setting.xml的文件,如下:
技术分享

三、Eclispse中安装maven插件并配置
1、安装Eclispe 中的maven插件
1.1、打开Eclispe Marketplace,输入maven来进行搜索,并选择:Maven Integeration for Eclipse(Luna) 1.5.0,如下图:
技术分享
1.2、点击,install(注意:我已经安装过该插件所以显示installed)。
2、在Eclipse中点击windows->Preferences中的Maven下的Installations,点击Add添加我们之前配置好的Maven的位置,如下图:
技术分享
设置UserSetting中的Maven的配置为我们之前配置好的Maven的Setting.xml的文件:
技术分享
四、创建Maven工程
创建一个Maven工程,
技术分享
出现如下弹出框,直接选择next,
技术分享
由于我们要创建的是web工程,因此,我们选择的骨架是maven-archetype-webapp来串讲工程:
技术分享
填写Group Id和Artifact Id,点击finish
技术分享
此时,创建的项目的工程目录如下:
技术分享
其中,项目的目录结构不符合maven的目录结构:
src/main/java
src/main/resources
src/test/java
src/test/resources
查看项目的属性中的Java Build Path中的Source,可以看到/src/main/java和/src/test/java/ missing.
技术分享
因此,我们点击Remove这两个missing的源文件。
技术分享

技术分享

手动创建,不存在的三个源文件夹:
技术分享

技术分享

技术分享

更改上面创建好的源文件的输出文件夹的位置:
技术分享

更改Jdk的版本:
技术分享

配置Web Deployment Assembly,只保留需要部署的,因此去掉/src/test/java以及/src/test/resources,删除后的包为:
技术分享

我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynamic web module to 2.5,如图:
技术分享

其实在右边可以看到改到2.5需要的条件以及有冲突的facets,解决这个问题的步骤如下:

1.把Servlet改成2.5,打开项目的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>

改为:

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

  <display-name>Archetype Created Web Application</display-name>  
</web-app>  

2.修改项目的设置,在Navigator下打开项目.settings目录下的org.eclipse.jdt.core.prefs

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
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.5

把1.5改为1.6

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
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.6

打开org.eclipse.wst.common.component

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="maven-project">
        <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"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
        <property name="context-root" value="maven-project"/>
        <property name="java-output-path" value="/maven-project/target/classes"/>
    </wb-module>
</project-modules>

把project-version=”1.5.0”改成project-version=”1.6.0”

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.6.0">
    <wb-module deploy-name="maven-project">
        <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"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
        <property name="context-root" value="maven-project"/>
        <property name="java-output-path" value="/maven-project/target/classes"/>
    </wb-module>
</project-modules>

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

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

把改成,把 改成

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

都改好之后在打开看看,已经把Dynamic web module改成了2.5
技术分享

创建的可行的Eclipse的web项目结构如下图所示:
技术分享

从零开始通过Eclipse 创建Maven web工程

标签:

原文地址:http://blog.csdn.net/timchen525/article/details/51232561

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!