Maven使用

Maven使用,第1张

Meven 1. meven的简介

1.11 依赖管理系统

<--依赖引用示例-->
    <dependency>
        <groupId>javax.servletgroupId>    
        <srtidactId>javax.servlet-apisrtidactId>
        <version>3.1.0version>   //项目版本
    dependency>

groupId

定义当前Maven项目隶属的实际项目-公司名称(jar包所在仓库路径)

srtidactId

该元素定义实际的项目中的一个Maven模块项目名

version

定义Maven项目当前的版本

2. Maven的安装与配置和目录结构 2.11 检查jdk的版本

jdk版本最好在1.7以上

2.12 下载Maven

http://maven.apache.org.download.html 下载地址

2.13配置Maven环境变量

解压后把Maven的bin目录配置到系统环境变量中MAVEN_HOME

2.14 检查Maven是否安装成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9kkyzc2k-1652403857344)(http://www.kaotop.com/file/tupian/20220514/b37876ebf50d5.png)]

2.21 Maven目录结构

目录目的
${basedir}存储pom.xml和所有的子目录
${basedir}/src/main/java项目的java源代码
${basedir}/src/main/resource项目的资源。比如说property文件
${basedir}/src/test/java项目的测试类,例:Junit代码
${basedir}/src/test/resource测试使用的资源

2.22 cmd下编译运行

cmd下 进入根目录下

  1. 编译

​ 根目录>mvn compile

  1. mvn exec:java -Dexec.mainClass=“cn.guang.demo.hello”
3.Maevn命令

3.1格式:命令

mvn[plufin-name]:[goal-name]
命令描述
mvn -version显示版本信息
mvn clean清理项目生产的临时文件,一般是模块下的target目录
mvn compile编译源代码。一般编译模块下的src/main/java目录
mvn package项目打包工具,会在模块下target目录生成jar或者war等文件
mvn test测试命令,或执行scr/test/java/下junit的测试用例
mvn install将打包的jar/war文件复制到你的本地仓库中,供其他模块使用
mvn deploy将打包的文件发布到远程参考,提供其他人员进行下载依赖
mvn site生成项目相关信息的网站
mvn eclipse:eclipse将项目转化为Eclipse项目
mvn dependency:tree打出项目的整个依赖树
mvn tomcat7:run在tomcat容器中运行web项目
mvn jetty:run调用Jetty插件的Run目标在Jetty Servlet容器中启动Web应用
mvn archetype:generate创建Maven的普通Java项目

3.2 命令参数

3.2.1 -D传入属性参数

例如:

mvn package -Dmaven.test.skip=true

//告诉maven打包时跳过单元测试

3.2.2 -P 使用指定的Profile配置

<profiles>
    <profile>
        <id>devid>
        <properties>
            <env>devenv>
        properties>
        <activation>
            <activeByDefault>trueactiveByDefault>
        activation>
    profile>

    <build>
        <filters>
            <filter>config/${env}.propertiesfilter>
        filters>
        <resources>
            <resource>
                <directory>src/main/resourcesdirectory>
                <filtering>truefiltering>
            resource>
        resources>
    build>
profiles>

profiles定义了各个环境的变量的id。filters中定义了变量配置文件的地址。其变量值就是上面profile中定义的值,

通过不同环境进行打包部署 例如:

mvn package -Pdev -Dmaven.test.skip=true

表示打包本地环境,并跳过单元测试

4.使用IDEA集成Maven环境

选择File–>new Project settings–>搜索maven -->Maven home directory 选择Maven安装根目录

5. 创建Maven项目 idea创建普通java的Maven项目结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tQaT5j6U-1652403857345)(http://www.kaotop.com/file/tupian/20220514/c0c3341d2e4fe.png)]

创建Web项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oLuvjw4s-1652403857346)(http://www.kaotop.com/file/tupian/20220514/20a36e8aabd1e.png)]

IDEA创建maven 的web项目结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hJWyLlsG-1652403857347)(http://www.kaotop.com/file/tupian/20220514/eec8480d2b7bc.png)]

创建完web项目之后,更改pom.xml 的配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yTjDOonN-1652403857348)(http://www.kaotop.com/file/tupian/20220514/67c842220116e.png)]

5.2 maven项目配置jetty服务器插件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u2RNw33C-1652403857348)(http://www.kaotop.com/file/tupian/20220514/b92cb9bb1d02a.png)]

使用命令更改端口号


Command line: jetty:run -Djetty.port =8080;  

5.2maven项目tomcat的配置

  <plugins>
        
        <plugin>
          <groupId>org.apache.tomcat.mavengroupId>
          <artifactId>tomcat7-maven-pluginartifactId>
          <version>2.2version>
          <configuration>
            <port>8081port>  
            <path>/test02path>   
          configuration>
        plugin>
      plugins>
5.2.1 maven项目jetty的配置

org.mortbay.jetty
jetty-maven-plugin


/demo           //注释一   此处为项目的上下文路径



82                                       //注释二   此处配置了访问的端口号
60000





6. maven仓库的概念

对Maven来说 仓库之分两类:本地仓库和远程仓库

a)、远程仓库:

  1. 中央仓库
  2. 私库
  3. 其他库

常用的阿里云仓库配置

<mirror>
    <id>nexus-aliyun id>
    <mirrorOf>central mirrorOf>
    <name>Nexus aliyun name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central url>
mirror>
7. Maven 环境下创建多模块项目
模块名称描述
maven-parent基模块常说的parent (pom)
maven-dao数据库访问层 例如jdbc *** 作 (jar)
maven-service项目逻辑层 (jar)
maven-controller用来接收数据,响应数据 (war)
7.1创建maven_parent项目

创建后的目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DXFObeK8-1652403857349)(http://www.kaotop.com/file/tupian/20220514/8cadd3139167b.png)]

依赖关系:

maven_dao–>maven_service–>maven_contorller

<groupId>cn.guanggroupId>
  <artifactId>XXXXartifactId>
  <version>1.0-SNAPSHOTversion>
将被依赖的模块的pom.xml文件下唯一标识,拷到依赖者的pom.xml文件下
<dependencies>
 <dependency>
    <groupId>cn.guanggroupId>
  <artifactId>XXXXartifactId>
  <version>1.0-SNAPSHOTversion>
    dependency>
dependencies>
 

配置启动Maven多模块项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KYUm4bvq-1652403857350)(http://www.kaotop.com/file/tupian/20220514/dda1310051618.png)]

8. Maven的打包 *** 作 8.1创建对应的目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3NpgqGpb-1652403857351)(http://www.kaotop.com/file/tupian/20220514/f7c89fa50f9de.png)]

8.2 添加Profile配置

  <profiles>
    <profile>
      <id>devid>
      <properties>
        <env>devenv>  
      properties>
      
      <activation>
        <activeByDefault>trueactiveByDefault>
      activation>
    profile>
    <profile>
      <id>testid>
      <properties>
        <env>testenv>
      properties>
    profile>
    <profile>
      <id>productid>
      <properties>
        <env>productenv>
      properties>
    profile>
  profiles>

将对于项目资源文件的配置放在build中

<build>
    <finalName>maventestfinalName>
   <resources>
     <resource>
       <directory>src/main/resources/${env}directory>
     resource>
     <resource>
       <directory>src/main/javadirectory>
       <includes>
         <include>**/*.xmlinclude>
         <include>**/*.propertiesinclude>
         <include>**/*.tldinclude>
       includes>
       <filtering>falsefiltering>
     resource>
   resources>
  build>

打包命令:

clean compile package -Pdev -Dmaven.test.skip=true

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/918737.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存