javaweb学习05:IDEA中Maven的操作

javaweb学习05:IDEA中Maven的操作

  • IDEA中使用Maven:

    • 启动IDEA;

    • 创建一个Maven项目:

       

    • 新建GAV:

      • GroupId:组

      • ArtifactId:项目名

      • Version:版本(1.0-SNAPSHOT)

         

    • 选择Maven的地址:

      • maven的地址:maven路径;

      • setting.xml地址:maven的配置文件路径;

      • Local repository:本地仓库路径;

         

         

    • 等待项目初始化完毕:

      • 自动导入包;

      • BUILD SUCCESS :构建成功;

         

         

    • 观察Maven仓库中多了什么东西:

       

 



 

  • IDEA中的Maven设置:

    • idea-settings:(注意:IDEA项目创建成功后,看一眼maven的配置)

       

       

    • 到此,maven项目配置完毕;

    • 注意:这种是maven模板创建的maven项目;

       

 



 

  • 创建一个普通的Maven项目:

    • 普通maven项目:File--new --project ;

       

       

    • 一个干净的Maven项目创建完成:

      • java:Java源代码;

      • resources:配置文件;

      • test/java:测试使用;

       

       

 



 

  • 一个Maven模板的web应用项目:

    • 项目结构:

    • main文件夹下新建文件夹:java;

    • main文件夹下新建文件夹:resources;

       

    • 设置java文件夹为资源文件夹:

      • 右键--Mark Directory as ;

       

       

 



 

  • IDEA中配置Tomcat:

    • 步骤1:

       

    • 步骤2:点击” + “,选中tomcat:

       

    • 步骤3:

       

       

    • 步骤4:为什么会有警告问题:

      • 我们访问一个网站,需要指定一个文件夹的名字;(必须要做的配置)

         

    • 步骤5:启动Tomcat;

       

       



 

  • Maven侧边栏的使用:

    • 三大块:

      • Lifecycle:Maven的命令行操作;

        • clean:清理;(清理项目结构中的target文件夹)

        • validate:验证;

        • complie:编译

        • test:测试

        • package:打包

        • verify:

        • install:安装

        • site:

        • deploy:部署

      • Plugins:Maven的插件(甚至可以删掉)

        • 跟上面命令行的功能一样;

      • Dependencies:项目依赖

        • 一个个的jar包;

       

       

 



 

  • pom文件:

    • pom.xml:是Maven的核心配置文件;

      <?xml version="1.0" encoding="UTF-8"?>

      <!--Maven的版本和头文件-->
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0</modelVersion>

       <!-- 这里就是我们刚才配置的GAV -->
       <groupId>com.ljxdemo</groupId>
       <artifactId>javaweb-01-maven</artifactId>
       <version>1.0-SNAPSHOT</version>
       <!--package:项目的打包方式
         jar:Java应用
         war:JavaWeb应用
       -->
       <packaging>war</packaging>

       <!--配置:-->
       <properties>
         <!-- 项目的默认构建编码 -->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!--编译版本-->
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
       </properties>

       <!--项目依赖-->
       <dependencies>
         <!--具体依赖的jar包配置文件-->
         <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.11</version>
         </dependency>
       </dependencies>

       <!--项目构建用的东西-->
       <build>
         <finalName>javaweb-01-maven</finalName>
         <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
           <plugins>
             <plugin>
               <artifactId>maven-clean-plugin</artifactId>
               <version>3.1.0</version>
             </plugin>
             <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
             <plugin>
               <artifactId>maven-resources-plugin</artifactId>
               <version>3.0.2</version>
             </plugin>
             <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>3.8.0</version>
             </plugin>
             <plugin>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.22.1</version>
             </plugin>
             <plugin>
               <artifactId>maven-war-plugin</artifactId>
               <version>3.2.2</version>
             </plugin>
             <plugin>
               <artifactId>maven-install-plugin</artifactId>
               <version>2.5.2</version>
             </plugin>
             <plugin>
               <artifactId>maven-deploy-plugin</artifactId>
               <version>2.8.2</version>
             </plugin>
           </plugins>
         </pluginManagement>
       </build>
      </project>
    • Maven高级之处:

      • 添加依赖后,自动导jar包;

      • Maven的高级之处:他会帮你导入这个jar包所依赖的其他jar包;

      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>

         <groupId>com.ljxdemo</groupId>
         <artifactId>javaweb-01-maven02</artifactId>
         <version>1.0-SNAPSHOT</version>

         <dependencies>
             <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>4.11</version>
             </dependency>

             <!--Maven的高级之处:他会帮你导入这个jar包所依赖的其他jar包 -->
             <dependency>
                 <groupId>spring</groupId>
                 <artifactId>spring-web</artifactId>
                 <version>1.0.2</version>
             </dependency>

         </dependencies>

      </project>

     

    • Maven由于他的约定大于配置:

      • 我们之后可能遇到我们写的配置文件,无法被导出或者生效的问题;

      • 解决方案:配置resouces节点;

        <!--在build中配置resources,来防止我们资源导出失败的问题-->
           <build>
               <resources>
                   <resource>
                       <directory>src/main/resources</directory>
                       <excludes>
                           <exclude>**/*.properties</exclude>
                           <exclude>**/*.xml</exclude>
                       </excludes>
                       <filtering>false</filtering>
                   </resource>
                   <resource>
                       <directory>src/main/java</directory>
                       <includes>
                           <include>**/*.properties</include>
                           <include>**/*.xml</include>
                       </includes>
                       <filtering>false</filtering>
                   </resource>
               </resources>
           </build>

         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-03-25 17:11  gzs1024  阅读(254)  评论(0)    收藏  举报