Eclipse或STS环境构建MavenWeb项目

前提: 你的机器已经配置好Maven环境变量, 怎么配百度有一大堆,此处不再赘述...

我IDE的版本如下:

STS:Version: 3.9.4.RELEASE

eclipse: Version: Neon.3 Release (4.6.3)

JDK:1.8

首先是配置eclipse(或STS)下的Maven环境 (必不能省略):

1:首选项 - 常规 - 工作空间 - 下面的默认编码应该是UTF-8

2:首选项 - java - 已安装的jre - 右边选中的jdk目录应该是C:\Program Files\Java\jdk1.8.0_162 。不要指向jre的目录

3:首选项 - web - JSP Files - 右边的Encoding 应该是ISO 10646/UnicodeUTF-8

4:首选项 - Maven - Installations - 右边若是有两个灰色证明你没有配置过,需手动点击右边add, 点击弹出框的Directory,选择你安装Maven的根目录:如下


sts怎么查看项目调用的maven_Maven

配置Maven安装目录

点击完成后不要关闭, 此时还需要配置你默认Maven仓库(不懂仓库概念的童鞋先自行百度哈...)的下载位置 :

在Maven根目录下的conf文件夹下的settings.xml文件的53行左右的注释中会有

<localRepository>/path/to/local/repo</localRepository>

把这行代码复制出注释区, 手动配置你要选择的Maven仓库路径.(系统默认为C/User/..../.m2/repository, 假如你重装系统.那么所有的JAR都没了).配置成如下

<localRepository>(~~这是你自己的路径~~)S:/JAVA/Utils/Jar/Maven/repository</localRepository>

保存文件后回到eclispes中刚才的Maven配置:

点User Settings - Global Setting选择: 你Maven的安装路径下的conf文件夹下的settings.xml文件 如图:

sts怎么查看项目调用的maven_Maven_02

选择好settings文件夹后,下面会自动设置你刚手动在setting.xml文件中配置的Maven仓库

至此环境配置完毕

 

开始建立项目

和建立jave项目一样, 左面包资源管理器中:右键 - 新建 - MavenProject

如下图

sts怎么查看项目调用的maven_STS_03

什么也不用改 , 直接下一步:

sts怎么查看项目调用的maven_STS_04

注意 : 这里的选择会影响目录结构哦...

选webapp .(webapp是Web项目, quickstart是快速java项目) 选好后下一步 . 出现下图

sts怎么查看项目调用的maven_sts怎么查看项目调用的maven_05

点击完成, 创建的时候机器慢的童靴要稍等一会... 等右下角读条读完就好.

创建完毕后注意 - 看到项目红叉不要慌 , 因为创建好一般都是错的  ( ???什么鬼设定 ).  还需要配置一波 ....

不出意外创建好是这样的(可能有的创建好后jdk还是1.5...)

sts怎么查看项目调用的maven_WEB_06

( 这里面webapp里面的web.xml也不是3.0的...)

OK开始改吧...

首先改结构...

右键项目名称 - BuildPath - Configure Build Path - Libraries - JRE system Library - 找右边编辑 - 选下面的工作空间默认jdk1.8.0 - 完成 - 保存并关闭( 如图 )

sts怎么查看项目调用的maven_Maven_07

点击apply and Close后项目结构会变成这样: 这才是标准Maven项目结构: 

sts怎么查看项目调用的maven_STS_08

如果没有src/main/resources的话, 直接项目名称右键 - New - Source Folder - 在FolderName中手写src/main/resources,点完成.

如果没其他源文件的也一样,,手动建就好. 开始建项目的时候说过Maven项目的选择正确与否会影响目录结构的哦..

反正 想办法干他一炮啊把正确结构给他整出来就是了

 

目前目录搞定 , 还要搞缺少的jar包 :

修改pom文件

1 .在<dependencies>元素里面添加JSP的依赖

<dependency>
    <groupId>org.apache.tomcat</groupId> 
    <artifactId>tomcat-jsp-api</artifactId> 
    <version>7.0.93</version> 
</dependency>

2. 修改编译项目时的配置 :

在<build>元素下添加<plugins> 子元素,这一步关系到下一步. 因为web3.0需要jdk1.6以上. 所以必须配置maven-compiler

<!--编译项目时的配置--> 
<plugins> 
    <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.7.0</version>
        <configuration> 
            <source>1.8</source> 
            <target>1.8</target> 
        </configuration> 
    </plugin> 
</plugins>

保存 - 项目名右键 - Maven - Update Projec.

 

至此还没完成. 因为此时项目中默认的web.xml的web版本并不是3.0 好TM烦 . 还需要手动更改:

下面的操作简单说是先让项目变成非web项目,再修改配置让IDE知道我这是web项目,你给我生成最新的web.xml (和网上一些方法有些出入. 但效果相同还简单)

1. 删掉src/mian/webapp/WEB-INF下的web.xml文件.

2. 项目名称右键 - 最下面properties - 左边找Project Facets - 把右边的Dynamic Web Module 的勾勾去掉 - Apply - Apply and Close 。 注意一定要关掉 . 到这里就变成了非web项目

3. 再次打开Project Facets , 找刚才的Dynamic Web Module 此时你会发现版本变成了3.0. - 点勾勾, 底下会有需要配置的提示 如图

sts怎么查看项目调用的maven_STS_09

如果你点Dynamic Web Module没反应或者提示. 那就把勾去掉再保存.再打开重新选择. ...意思就是说,我要让IDE知道我要从非web变成web,你丫麻溜的给我生成一个标准web结构还带着web.xml文件

 

按图配置好后. 右键项目名称 - Maven - 更新项目

此时你的web.xml就是3.0的了. 点开xml文件应该是这样的

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="3.0" 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_3_0.xsd"> 

</web-app>

至此 .项目结构为

sts怎么查看项目调用的maven_STS_10

 

完成 撒花