Maven配置及idea下创建Maven项目详细步骤

Maven

记录从安装 maven 到创建 idea 项目的过程,目前还只使用了 maven 的导包功能,比以前手动导包及寻找依赖包方便了不少,只需要在 pom.xml 文件中配置一下即可自动导入以及相关的包,但前提还是要找到正确的 jar 包,其他功能等以后用到的时候再进一步了解。

  • 准备工作

    从官网下载并解压到自己的工作路径

    配置环境变量

    添加 MAVEN_HOME 映射当前的maven文件夹,比如我当前对应的maven文件夹 D:\Work\apache-maven-3.6.1-bin\apache-maven-3.6.1 然后再 path 中添加 %MAVEN_HOME%\bin\

    验证是否安装成功

输入 mvn -version 能够成功显示当前版本即为安装成功


  • 配置

将 maven 目录下 conf/settings.xml 中的远程仓库地址改为阿里云镜像,因为 maven 默认的仓库在国外,国内访问导包的时候速度太慢甚至无法下载。对应的 <mirror> 标签一定要放在 <mirrors> 标签中包起来,否则无法生效,之前弄错一次

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

  • 使用idea创建maven项目

到此 maven 已经配置完毕了可以直接使用了,下面是用 idea 创建 maven 普通项目和 JavaWeb项目的详细步骤

  • 创建普通项目

创建完成后对应的目录结构如下,java 对应源码目录,resources 对应资源路径, test.java 对应测试目录。

下面的 pom.xml 即为 Maven 的工程配置文件

  • Maven 创建 JavaWeb 项目

其他步骤和创建普通项目相同,选择正确的 maven 下一步下一步就可以了,创建完成后记得勾选自动导包功能。

web 项目创建完成后默认的没有源码目录和资源目录,需要手动创建,创建完成后指定为相应的目录即可

然后为项目添加 tomcat 服务器

到此创建就完成了。

  • Maven 如何导包及对应包的查询方法

比如现在要在普通项目下导入一个 junit 的测试 jar 包,在 pom.xml 文件中添加

<dependencies>
    ...
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
    </dependency>
</dependencies>

可以看到 Maven 自动帮我们导入了 junit 和对应的依赖包 hamcrest-core 两个 jar 包,不用我们手动的再去下载并导入

附 Maven 包的查询网站 https://mvnrepository.com/ 只需要知道对应包的名字即可查询到对应的

另外记录一下idea 中 src 目录下的资源导出问题

<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>

猜你喜欢

转载自www.cnblogs.com/wangjr1994/p/12434294.html