maven安装及创建maven项目的问题(intellij版+Eclipse版)

此文章是为记录个人创建maven项目时遇到的问题以及解决方法

 

一、安装配置Maven

1、下载:https://maven.apache.org/download.cgi

Binary是我们需要下载的二进制文件

Source是maven的源文件

zip是Windows的压缩方式

tar.gz是Linux的压缩方式

 

2、配置MAVEN环境

创建M2_HOME(这个名字可以自己起)

M2_HOME(maven的目录):D:\Tools\JAVA\apache-maven-3.5.2

给path添加(注意;号分隔之前的)

path:%M2_HOME%\bin;

运行命令查看环境是否配置成功

3、设置setting.xml文件(详细配置介绍可以参考官方文档http://maven.apache.org/settings.html)

进入maven目录apache-maven-3.5.2\conf打开setting.xml文件

配置maven仓库路径(在<settings>标签内配置<localRepository>) 

<localRepository>E:\Maven_repository</localRepository>

 

为自己的Maven配置国内镜像源(推荐)

打开自己的 Maven根目录/conf/setting.xml

在<mirrors></mirrors> 标签之间配置镜像

        <!-- 阿里云仓库 -->  
         <mirror>  
            <id>alimaven</id>  
            <mirrorOf>central</mirrorOf>  
             <name>aliyun maven</name>  
             <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>  
         </mirror>  
  
  
         <!-- 中央仓库 -->  
         <mirror>  
             <id>repo</id>  
             <mirrorOf>central</mirrorOf>  
             <name>Human Readable Name for this Mirror.</name>  
             <url>http://repo1.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>
    
      <mirror> 
        <id>uk</id>  
        <mirrorOf>central</mirrorOf>  
        <name>Human Readable Name for this Mirror.</name>  
        <url>http://uk.maven.org/maven2/</url> 
      </mirror>
    
       <mirror>
        <id>CN</id>
        <name>OSChina Central</name>
        <url>http://maven.oschina.net/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
      </mirror>
    
      <mirror>
        <id>nexus</id>
        <name>internal nexus repository</name>
        <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
        <url>http://repo.maven.apache.org/maven2</url>
        <mirrorOf>central</mirrorOf>
      </mirror>

或者

    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

    <mirror>
      <id>ibiblio</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
    </mirror>
    <mirror>
      <id>jboss-public-repository-group</id>
      <mirrorOf>central</mirrorOf>
      <name>JBoss Public Repository Group</name>
      <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </mirror>

    <mirror>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <url>http://repo1.maven.org/maven2/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>
  </mirrors>

 

===========================================================================

命令行创建项目

创建Maven的Web项目:mvn archetype:generate -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeGroupId=org.apache.maven.archetypes -DinteractiveMode=false
创建Maven的普通java项目:mvn archetype:generate -DgroupId=packageName -DartifactId=projectName -DinteractiveMode=false

mvn eclipse:eclipse 
mvn eclipse:clean 
mvn eclipse:m2eclipse

 

--src
   -----main
      ----------java
      ----------resources
  -----test
     ---------java
     ---------resources

--target

--pom.xml

 

src/main/javaapplication library sources - java源代码文件
src/main/resourcesapplication library resources - 资源库,会自动复制到classes文件夹下
src/main/filtersresources filter files - 资源过滤文件
src/main/assemblyassembly descriptor - 组件的描述配置,如何打包
src/main/configconfiguration files - 配置文件
src/main/webappweb application sources - web应用的目录,WEB-INF,js,css等
src/main/bin脚本库
src/test/java单元测试java源代码文件
src/test/resources测试需要的资源库
src/test/filters测试资源过滤库
src/site一些文档
target/存放项目构建后的文件和目录,jar包,war包,编译的class文件等;Maven构建时生成的
pom.xml工程描述文件
LICENSE.txtlicense
README.txtread me

 

二、创建maven项目(intellij版)

1、创建前的准备,设置intellij默认(Default)的maven

在maven的runner选项上设置maven vm options:-Dmaven.multiModuleProjectDirectory=$M2_HOME

1、打开intellij创建maven模板

2、填写groupID和artifact ID 

3、选择安装路径、配置文件路径、仓库路径

在创建maven项目的时候,加archetypeCatalog=internal

4、设置项目名及其他

  • 遇到的问题

1、项目模板创建失败没有src目录

 

IDEA报错-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.[ERROR] Maven execution terminated abnormally (exit code 1)

1、可能是jdk版本不匹配

2、需要在maven的runner选项上设置maven vm options:-Dmaven.multiModuleProjectDirectory=$M2_HOME

因为没有设置intellij默认(Default)的maven runner和jdk,所以在以maven模板创建时得不到需要的multiModuleProjectDirectory和jdk信息从而无法创建或下载某些依赖

===========================================================================

 

 

 

三、创建maven项目(eclipse版)

1、创建前的准备,为eclipse配置maven

打开eclipse----》Window----》preference

配置maven的settings.xml和仓库路径

 

2、创建maven web项目

选择模板(这里我选择了WEB模板,可以根据自己的需求选择不同模板)

填写GroupID 和 artifactID,点击finish就创建好了

 

  • 遇到的问题

1、会有JSP报错,The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

这是因为我们缺少依赖。

方法一:在pom.xml文件中添加servlet-api(推荐)

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>servlet-api</artifactId>
	<version>2.5</version>
</dependency>


方法二:直接指向引tomcat,引用其中的所有依赖(不推荐)

添加方式有很多,我这里记录下我的方式

右键---->properties---->Java Build Path---->add Library---->server Runtime

 

 

 

2、缺少以下3个文件夹

src/main/java

src/test/java 

src/test/resources

右键项目根目录点击New -> Source Folder,
建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。
项目或者文件加上右键 new  sourceFolder,正常情况下是没有问题的

如果出现了下面的这情况,其实是真的存在的只是我们看不到

检查创建使用的JDK版本,如果是1.5请设置为1.7或更高版本(1.6没有试验过)

右键项目属性后,点击Java Build Path-->Libraries-->JRE System Library[J2SE-1.5]-->Edit..-->Workspace default JRE

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值