zoukankan      html  css  js  c++  java
  • Maven入门1-在Eclipse中新建Maven Web项目

    在eclipse中新建Maven Web项目

      很多时候开发效率低下,大部分原因是IDE环境不熟悉、配置不会配置;因此在学习一项技能之前,有必要对基本的环境配置有所了解,正所谓磨刀不误砍柴工。这篇文章主要针对初次接触Maven,不熟悉配置的研究人员。

    1、Maven配置及介绍

      Maven官网:http://maven.apache.org/

      以前开发Java Web工程时,需要导入很多依赖包,但是随着工程逐渐变大,所管理的包越来越多,有必要使用工具来管理这些包,这样不需要我们手动导入;Maven就是为了解决管理jar的问题。

      如下,一个经典的导入springmvc依赖的配置:

    <dependencies>
        <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>3.2.0.RELEASE</version>
        </dependency>
    <dependencies>

      通过三个坐标值,定位到我们所需的依赖包;

      关于pom文件的介绍,官方文档:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

      下面介绍如何配置Maven:

      1)下载Maven

        http://maven.apache.org/download.cgi 官网下载apache-maven-3.5.0-bin.zip,到本地目录,然后解压,比如放到E:JavaWeb目录下。

      2)配置Maven环境变量

        这个网上很多教程,与配置Java环境变量是一样的。配置好之后在命令行窗口输入 mvn -v:如果显示maven的版本,证明环境变量配置成功;

      3)Maven基本配置

        将maven目录下conf-->settings.xml文件拷贝到,C盘-->用户-->.m2文件夹下

      为什么这么做呢?有两个原因,1. eclipse默认加载maven配置是加载这个路径下的settings文件; 2.这样配置之后如果后期更新maven的版本不需要修改配置。如下图所示,第二个是默认下载的包存在哪个地方,也就是本地仓库。

        配置settings.xml文件:

    <!-- 官方推荐但是不可用,需要配置代理
    <mirror>
          <id>UK</id>
          <mirrorOf>central</mirrorOf>
          <name>UK Central</name>
          <url>http://uk.maven.org.maven2</url>
    </mirror>
    -->
    <!-- 使用国内的镜像 -->
     <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
     </mirror>

      这样基本的配置就完成了,关于更多内容在下一篇文章中引入;

      4)使用命令新建与发布Web工程

        进入我们想要新建工程的目录,这里是E:JavaWebeclipse-neonworkspace

    mvn archetype:generate -DgroupId=ecnu.liuning -DartifactId=springmvc-study -DarchetypeArtifactId=maven-archetype-webapp

        中间有提示信息,点回车即可,如果出现错误,很大一部分原因是因为镜像配置错误,没法下载依赖包,搜索错误内容查找解决方案。

        如果最后提示BUILD SUCCESS证明新建成功;

        这跟用eclipse新建是一样的,可以用eclipse导入测试,如果导入eclipse之后出现下面的错误:

        

        是因为没有添加Tomcat Server的运行环境:右键点击工程,选择config  buildpath然后按照下图选择;添加完之后,修改一下文件内容再保存,让他重新加载一下。

    在命令行切换到springmvc-study 目录,执行:
    mvn package
    构建成功后,springmvc-study 目录下多了一个target目录,在这个目录下会打包成my-web-app.war,把这个war包拷贝到Tomcat的发布目录下就可以运行了

    2、Eclipse中新建Maven Web项目

      上面介绍了,使用命令来新建Maven Web工程,可以看到一个标准的Web工程如下:

        my-web-app是工程名:

      

        如果是从myeclipse转过来的开发者,可能不太适应,但是这没有关系,代码组织的一种形式;真正发布到Tomcat上之后跟使用Myeclipse新建的WebRoot发布是一样的效果:

      要想在eclipse中新建Maven项目,首先需要几个基本的配置:

      1)设置我们自己安装的Maven路径

        两个地方,Installations和User settings,User settings里面配置我们.m2下面的settings.xml文件,以及本地仓库地址,默认就是在C盘用户目录下:

      

     

      2)新建项目

        网上好多教程;照着来就可以了,但是需要注意几点:

        (1)新建的时候选择:

        (2)右键项目-->属性,在这里可以修改几个地方;

        Runtimes选中,然后Java版本改为1.8的版本,Dynamic Web Module可以去掉,点击apply;然后再勾上Dynamic Web Module这时候改为3.0,就会出现进一步配置的蓝色连接,点进去,修改里面Content directory为src/main/webapp,并将Generate...勾选,单击OK。

        (3)右键项目-->Build Path-->Config Build Path

          可以把缺失的文件夹给加上

       3)配置项目

        点开pom.xml文件添加基本的servlet与junit依赖

    <dependencies>
        <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>3.8.1</version>
           <scope>test</scope>
        </dependency>
        <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>javax.servlet-api</artifactId>
           <version>3.1.0</version>
        </dependency>
    </dependencies>

        点开web.xml文件,由于此文件是自动生成的,没有头部;可以现搜最新的模板使用,也可以用下面的:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
      <display-name>Demo</display-name>
    </web-app>

      4)下面配置插件用以发布Maven项目

      首先在pom.xml文件中加入下面的代码:build标签与dependencies并行,打一个<点击alt+/会有标签提示。

      <build>
          <plugins>
              <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <!-- 注意此处的url,修改成tomcat监听的端口即可 -->
                    <url>http://localhost:8080/manager/text</url>
                    <server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
                    <path>/${project.artifactId}</path> <!-- 此处的名字是项目发布的工程名-->
                    <server>tomcat7</server> 
                  <username>admin</username>
              <password>password</password> </configuration> </plugin> </plugins> </build>

      配置Tomcat

     编辑Tomcat目录下/conf/tomcat-users.xml
    
     在<tomcat-users></tomcat-users>标签中加入以下代码后,保存退出

      <role rolename="admin-gui"/>
      <role rolename="admin-script"/>
      <role rolename="manager-gui"/>
      <role rolename="manager-script"/>
      <role rolename="manager-jmx"/>
      <role rolename="manager-status"/>
      <user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

      如果出错: 

                    可尝试将将Eclipse中jre改一下

          window--Preferences--java--Installed JREs,选择jdk目录下的jre后点OK即可。

      如果报未授权的错误,可能是两个地方的配置用户名密码不对应:user

      最后访问:

    3、总结

       在接触Maven之前总是抵触,总钟情于手工导包的方式,其实还是自己遇到错误总是躲避,静不下心来去处理;网上的好些教程千篇一律,但是就是版本不一样,侧重点不同,会导致解决不了我们的问题;总之就是静下心来寻找解决方案。

      1)配置maven时mirror要配置正确,不然会报各种插件找不到的错误。

      2)使用eclipse时主要就是Properties里面和config build path里面进行配置。

      3)配置插件是密码要对应起来。

      总结一下解决问题要注意的地方:

      1)要回搜,两方面搜索,其一搜你这个问题怎么解决,其二搜日志错误信息,搜的内容质量也良莠不齐,要学会选择!

      2)平时多看博客论坛,多帮助别人解决问题,积累相关的技术圈,问题解决圈,等到真正发生bug时能够快速定位问题所在!

      3)要了解不同的IDE,这个出问题,可以换另一个;

      工欲善其事必先利其器,开发环境是很有必要熟悉的!

    4、参考文献

       http://www.linuxidc.com/Linux/2017-05/143308.htm

      Maven官网:http://maven.apache.org/

     

  • 相关阅读:
    关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
    今日工作心得:asp.net中使用javascript进行验证的注意点
    今日工作心得:能够引起FileUpload控件的PostedFile总是为null的一个原因
    完美解决office 2007安装失败(Office.ZhCN/...)
    关于FCKeditor,上传文件时提示invalid request
    今日学习:关于C#多线程之一——异步委托
    今日工作心得:关于C#读取Excel的一些资料
    c# webBrowser读取gb2312 中文变方框的问题
    C#中HashTable的用法
    今日工作心得——javascript结合jquery使图片适应窗口大小
  • 原文地址:https://www.cnblogs.com/liun1994/p/7173052.html
Copyright © 2011-2022 走看看