Maven的使用 eclipse中配置maven IDEA配置maven

maven

1.maven是什么

    一个跨平台的项目管理工具,主要服务于 基于Java平台的项目构建、依赖管理和项目信息管理。
跨平台(window/linux/mac)使用相同的命令

2.maven能做什么?

    构建项目
    依赖工具:第三方开源库jar的增多,版本冲突、依赖臃肿等问题增多,maven可以有效的解决依赖
    
    maven仓库:
    中央仓库:maven为java开发者提供了一个免费的中央仓库,在其中可以找到绝大多数的流行开源框架。
    本地仓库:本地jar文件所在位置 
    其他仓库:提供jar访问下载的网上仓库

3.maven如何使用

maven安装

1)jdk1.7以上,要求必须配置JAVA_HOME目录
2)maven安装包, 解压即可
3)配置环境变量
    变量名:M2_HOME
    变量值:D:\DeveTool\maven\apache-maven-3.3.9
    Path配置:%M2_HOME%\bin 
4)检查是否配置成功,mvn -v

maven仓库修改

maven的本地仓库为默认存在C盘目录下,可以指定本地仓库存储路径
1)在maven的安装目录的conf目录下,找到setting.xml文件
2)修改setting.xml文件,添加<localRepository>标签
    <localRepository>D:\DeveTool\maven\repo</localRepository>
3)修改setting.xml文件,在 <mirrors>里添加阿里云镜像标签
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
4)复制setting.xml到本地仓库目录下(D:\DeveTool\maven\repo)
5)eclipse配置maven,window-》preferences->maven->user settings  
    maven->installnations  ->add

maven常用命令

clean:清除目标目录中的生成结果

install:在本地库中安装jar

package:根据项目生成jar文件

4.pom.xml

maven的一大功能就是管理项目依赖(jar),为了自动化解析,maven必须将他们唯一标识(即坐标)。

世界上任何一个构件(jar等)都可以使用maven坐标作为唯一标识,maven坐标元素包括groupId、artifactId、version、packaging、classifier。只要我们提供正确的坐标元素,maven就能找到对应的构件。

dependencies:可以包含一个或多个dependency元素,用来声明依赖。
groupId:包名,必选
artifactId:项目名,必选
version:项目所处版本,必选
packaging:maven项目的打包方式(jar、war),可选
scope:依赖的范围,用来控制依赖于三种classpath(编译、测试、运行)的关系
    依赖范围:
    compile:默认值,编译依赖范围,对于编译、测试、运行三种classpath都有效
    test:测试依赖范围,只对测试classpath
    provided:已提供依赖范围,对编译和测试classpath有效,运行时无效
    runtime:运行时依赖范围,测试和运行有效,编译时无效
    system:系统依赖范围,与provided依赖范围相同,但是使用时必须通过systemPath显示
           指定依赖文件路径。与maven仓库没关系,与本机系统绑定,不可移植
    import:导入依赖范围,不会对三种classpath产生实际影响

5.eclipse+maven

eclipse配置maven

1)配置:window --> preferences --> maven --> user settings

2)选择:maven --> installations --> add

eclipse创建maven项目

File –> New –> Othe –> Maven –> Maven Project –> Next –> Next ↓

–> 选择maven-archetype-webapp –> Next > –> 输入坐标 –> Finish

 

配置tomcat

显示视图server窗口,右键new --> server --> tomcat --> next --> Browse(选择本地tomcat) --> Finish

运行maven项目

直接启动tomcat

eclipse打包maven项目

eclipse:Run As --> Maven install

生成的war包,在maven仓库中(D:\DeveTool\maven\repo\cn\bdqn\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.war)

打包方式
**JAR**
    JAR(Java Archive [ˈɑːrkaɪv] ,Java 归档文件):JAR 文件格式以流行的 ZIP 文件格式为基础,它可将许多文件组合成一个压缩文件, 而且还用于部署和封装库**、**组件和插件程序 。
    简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。 
​
WAR
    war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在webapps目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。 
    简单来说,war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。

6.IDEA+maven

idea配置maven

file --> settings --> Builde,Execution,Deployment --> Build Tools --> Maven --> Maven home directory(选择maven安装路径) --> User setting files (选择settings.xml文件)。

maven打包SpringBoot项目

1)在pom.xml中添加<packaging>war</packaging>

2)pom.xml中继续加入以下代码:该代码用于spring boot中内嵌的tomcat包依赖排除,不然会产生冲突

<exclusions> //exclusions:[ɪkˈskluːʒn],除外、排除
    <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
</exclusions>

3)重写启动类,让启动类继承SpringBootSerletInitializer,重写 configure函数

public class SmbmsApplication extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SmbmsApplication.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(SmbmsApplication.class, args);
    }
}

4)打开视图maven project

clean:清除目标目录中的生成结果

install:在本地库maven库中安装jar

package:根据项目生成jar文件

5)注意: tomcat版本需要为8以上,tomcat版本若果有点儿旧的话,可能war包会不起作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值