zoukankan      html  css  js  c++  java
  • 3、IDEA 中使用 Maven

    搬运自:动力节点《2020最新Maven教程-Maven基础篇之Maven实战入门》



    1、DEA 集成 Maven

    1、打开 新工程设置

    image-20200825235729216

    2、设置 Maven 安装主目录、 maven 的 settings.xml 文件和本地仓库所在位置

    image-20200826000155322


    2、IDEA 创建 Maven 版 Java 工程

    1. File$-->$New$-->$Module:

    image-20200826000649863

    普通的Java工程也可以选择下面这个模板,但是使用模板工程的目录结构会缺少一部分

    image-20200826002135926
    1. 填写 Maven 工程名和坐标
    image-20200826003459825
    1. 配置 Maven 信息
    image-20200826003629259
    1. 创建后视图

    image-20200826004518911

    1. 如果此时的Maven工程目录结构不符合自己的需求,可以右键新建文件夹,然后 mark 一下
    image-20200826004814893
    1. pom.xml 中加入所需的依赖
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    

    image-20200826010808214

    1. 使用 IDEA 的 Maven 工具窗口

    image-20200826010828643


    3、IDEA 创建 Maven 版 Web 工程

    3.1、方式一:

    这种方式创建出来的目录结构不全

    1. 新建 module,选择模板
    image-20200826161143743
    1. 创建后视图

    image-20200826161242195

    由模板创建出来的目录结构是这样的并不完整,需要手动创建缺省文件夹

    Maven_Web目录架构

    1. 加入 Web 的相关依赖
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    

    3.2、方式二:

    这种方式创建出来的 pom.xml 配置不全

    1. 创建一个普通的 Maven 工程
    2. 然后右键给这个普通的Maven工程添加 Web App 框架
    image-20200327112514233 image-20200327113036067
    1. 加入 Web 的相关依赖

    4、依赖的生效范围

    <dependency>
    	********
        <scope>test</scope>
    </dependency>
    

    依赖的生效范围使用 <scope> 表示,依赖的范围: compile、 test、 provided,默认采用 compile

    compile test provided
    对主程序是否有效
    对测试程序是否有效
    是否参与打包
    是否参与部署

    5、Maven 常用属性

    <properties>
        <!---maven构建项目使用编码,避免中文乱码-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    	<!--编译代码使用的jdk版本-->
        <maven.compiler.source>1.8</maven.compiler.source>
        <!--运行过程使用的jdk版本-->
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    

    6、Maven 全局变量

    在 Maven 的 pom.xml 文件中,<properties> 用于定义全局变量, pom 中通过 ${property_name} 的形式引用变量的值。

    • <properties> 通过自定义标签声明变量(标签名就是变量名)
    • 在 pom.xml 文件中的其它位置,使用 ${标签名} 使用变量的值

    定义全局变量:

    <properties>
    	<spring.version>4.3.10.RELEASE</spring.version>
    </properties>
    

    引用全局变量:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
    

    Maven 系统采用的变量:

    <properties>
        <!--源码编译 jdk 版本-->
        <maven.compiler.source>1.8</maven.compiler.source> 
        <!--运行代码的 jdk 版本-->
        <maven.compiler.target>1.8</maven.compiler.target> 
        <!--项目构建使用的编码,避免中文乱码-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
        <!--生成报告的编码-->
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties>
    

    7、资源插件

    src/main/java 和 src/test/java 这两个目录中的所有*.java 文件会分别在 comile 和 test-comiple 阶段被编译,编译结果分别放到了 target/classes 和 targe/test-classes 目录中,但是这两个目录中的其他文件都会被忽略掉,如果需要把 src 目录下的文件包放到 target/classes 目录,作为输出的 jar 一部分。需要指定资源文件位置。 以下内容放到 <buid> 标签中。

    默认没有使用 <resources> 的时候, Maven执行编译代码时,会把 src/main/resource 目录中的资源文件拷贝到 target/classes 目录中,对于 src/main/java 目录下的非 Java 文件不处理,不拷贝到 target/classes 目录中,即忽视其他目录下的资源文件或者配置文件。

    <build>
        <resources>
            <resource>
                <!--资源文件所在的目录-->	
            	<directory>src/main/java</directory>
                <!--包括目录下的.properties,.xml 文件都会扫描到-->
            	<includes>
            		<include>**/*.properties</include>
            		<include>**/*.xml</include>
            	</includes>
            	<!--filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了-->
            	<filtering>false</filtering>
            </resource>
        </resources>
    </build>
    

    解决Maven下配置文件无法导出


    8、Maven 父子工程

    1. 创建一个 Maven 的普通 Java 工程,然后删掉 src 目录,这个工程作为父工程
    2. 然后在这个 "父" 工程中,添加 Maven 模块即可,可以有多个子模块
    3. 子模块所需的依赖,或者其他配置,都可以在父工程的 pom.xml 中进行配置

    image-20200826210556877

  • 相关阅读:
    Longest Consecutive Sequence
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(5)--脱机表单
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(4)--浏览器和Filler按钮
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(2)--合并表单
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(10)--关键点
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(9)--高级函数
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(8)--默认值
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(3)--重新链接表单
    一步步学习微软InfoPath2010和SP2010--第十四章节--高级选项(1)--InfoPath规则检查器
    SharePoint用REST方式访问查询列表
  • 原文地址:https://www.cnblogs.com/sout-ch233/p/13574778.html
Copyright © 2011-2022 走看看