zoukankan      html  css  js  c++  java
  • Maven项目管理工具初体验

      在最前面声明,本文不涉及任何原理,只是对使用方法和期间遇到的问题如何解决。主要是随着年纪原来越大,越觉得好记星不如烂笔头的深意,同时如果能够帮助谁,那就最好不过了。

      前两天自己做一个项目,然后好心朋友要帮忙,但我把项目放到Git上以后出现了点问题,工程文件.project没有上传,依赖的jar文件没有上传,当他从Git上Down下来以后就不太好处理,然后果断将项目改为Maven项目。这就是本文的起源。

      首先要在Eclipse中安装插件:在Help-->install new software,输入下面地址http://download.eclipse.org/technology/m2e/releases,出现如下页面:

      

      然后就像安装其他插件那样一路下一步就OK了。安装完成之后,我们来看一下是否成功,在Eclipse中,Windows->Preferences,如果出现下面的画面,那么恭喜你完成了第一步:

      

      值得注意的是Embedded内置的默认maven版本是我们即将要修改的,应为这个版本有点老了,这直接导致的后果就是在添加dependences的时候,maven的库不是最新的。

      其次去maven的官网下载最新版的maven,此时的最新版本为3.2.1,下载地址如下:http://mirrors.cnnic.cn/apache/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.zip。解压到本地目录,比如我的环境中,在本地目录F:apache-maven-3.2.1中,在下面配置一下F:apache-maven-3.2.1conf目录中的settings.xml文件,更改一下如下配置:  

      <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository  -->
      <localRepository>F:/m2/repository</localRepository>

      当然在本地磁盘F:下创建文件夹m2,然后将刚才配置好的settings.xml文件拷贝到F:/m2目录下。OK,此处有个问题,可能有人说需不需要设置maven的环境变量,可以设置,但是如果只是使用Eclipse的maven的插件而不需要使用命令行,就不用了。反正我没有设置。下面我们在Eclipse中设置maven到我们刚下载的版本。

      

      然后设置用户settings,如下图:

      

      然后保存。OK。这样我设置完了。我们创建一个Maven项目试试手吧。

      在创建向导中多了maven的相关选项:

      

      选择一个web程序:

      

      然后给取名字就好了:

      

      小手轻轻点一下Finish,OK,一个maven程序就算创建完成了。下面观察一下这个项目,在项目上右击->properties->Project Facets看下面的内容:

      

      默认的jre是1.5版本,Dynamic Web Module版本为2.3,当然我这种好大喜功的人当然要改成最新版本,好吧看我的操作:

      

      我修改了jre的版本和web module的版本,但是web module的版本提示出错了,怎么办,在所创建项目的根目录有个文件夹.settings,下面有个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="2.3"/>
      <installed facet="wst.jsdt.web" version="1.0"/>
      <installed facet="java" version="1.5"/>
    </faceted-project>

      对jst.web的值做一下修改:

    <?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.5"/>
    </faceted-project>

      保存以后,打开项目,右键项目名称,然后在弹出的菜单中选择Maven->Update Project,

        

      然后在弹出的窗口中选择本项目:

      

      然后点击OK,你会发现程序出错了:

      

      然后右键项目,在项目上右击->properties->Project Facets做出如下修改:

      

      特么的我那会设置的jre的版本已经变为1.5了,好吧,再次设置为1.7,保存。此时出现一个新的问题:  

    Description    Resource    Path    Location    Type
    Java compiler level does not match the version of the installed Java project facet.    test-001        Unknown    Faceted Project Problem (Java Version Mismatch)

      解决办法,邮件项目,选择属性,设置java Compiler的jdk版本,

      

      原来是1.5版本,点击OK之后,错误消失。这里面要注意的是,每次你Upload Project的时候,这个设置都会恢复成最开始的默认值,是很烦人,这个问题有两个解决办法,一个是这样在pom.xml文件中添加如下内容:  

    <build>
            <finalName>test-001</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>

      但是这样的话只能对这个项目起作用,最根本上还是要从maven本身的配置入手,如何在创建项目的时候就指定默认的jdk呢?

      这样,在maven的安装目录下面的conf/settings.xml文件夹中添加下面一段内容:  

      <profiles>  
                <profile>
                <id>jdk-1.7</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                    <jdk>1.7</jdk>
                </activation>
                <properties>
                    <maven.compiler.source>1.7</maven.compiler.source>
                    <maven.compiler.target>1.7</maven.compiler.target>
                    <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
                </properties>
      </profile>
    
     </profiles>  

      如果此时Eclipse正在运行,那么重启一下Eclipse,以后再创建的项目默认的jdk选项均为1.7。就不用每次都配置了。

      最后一个很奇怪的问题,也是困扰我很长时间的问题,就是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.7"/>
      <installed facet="jst.web" version="3.0"/>
      <installed facet="wst.jsdt.web" version="1.0"/>
    </faceted-project>

      而程序一直报这个异常:

      

      但是项目的属性中看,程序没有问题:

      

      我尝试了很多方法,在网上也搜了很多,但是都不能解决我的问题,仔细看了一下工程,在web.xml中的标记使这样:  

    http://java.sun.com/dtd/web-app_2_3.dtd

      果断改成  

    http://java.sun.com/dtd/web-app_3_0.dtd

      OK,问题解决。

      文章中我处理问题的方式,符合我的环境和情景,如果谁和我一样,给你一点帮助我感觉很欣慰。

      

  • 相关阅读:
    SSL证书安装指引
    SSL证书绑定成功
    我是如何将网站全站启用Https的?记录博客安装配置SSL证书全过程
    _INT_SIZEOF 规格严格
    Java: Multidimensional array vs. Onedimensional 规格严格
    Fix JDK TImer 规格严格
    Ecpilse debug视图 规格严格
    PE 分析 规格严格
    VC Unicode 规格严格
    Object Pool 规格严格
  • 原文地址:https://www.cnblogs.com/fantiantian/p/3645715.html
Copyright © 2011-2022 走看看