idea中使用maven构建maven工程

简介: idea中使用maven构建maven工程

一、idea中关联maven

  1. 配置全局的setting

网络异常,图片无法展示
|

  1. 配置关联idea路径

网络异常,图片无法展示
|

  1. 如果自己以后创建工程 使用默认配置 . 如果以后引入别人的maven工程 会使用别人的maven配置(自己再次修改)
  2. 打开工程后 再去查看一次 maven配置 保证 每一个空间下都是最新的配置

二、使用Maven骨架创建Javase工程(不配置也可以)

网络异常,图片无法展示
|
网络异常,图片无法展示
|

三、非Maven骨架创建Java se工程(建议)

如果是Java se工程可以不选骨架 默认就是Java se工程

网络异常,图片无法展示
|

网络异常,图片无法展示
|

四、POM文件介绍

project Object Model: 项目对象模型 , 实际上就是maven管理项目的配置 , 需要描述的内容都写在此文件当中

<?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.itheima</groupId>
  <!--项目的模块名称-->
  <artifactId>day02_maven_02_se_1</artifactId>
  <!--版本-->
  <version>1.0-SNAPSHOT</version>
  <!--打包方式-->
  <!--
    packaging 打包方式
      之后我们项目开发完以后 需要进行打包
      se工程 打包出来的是jar包 , 更多的是作为工具jar被引入
      ee工程 打包出来的是war包 , 扔到tomcat里运行
  -->
  <packaging>war</packaging> 
  <!--就是一个别名-->
  <name>day02_maven_02_se_1</name>
  <!-- FIXME change it to the project's website -->
  <!--maven示例-->
  <url>http://www.example.com</url>
  <!--项目相关配置-->
  <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> 依赖 (多个依赖)-->
  <dependencies>
    <!--某个依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <!--构建-->
  <build>
    <!--插件的管理-->
    <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>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_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-jar-plugin</artifactId>
          <version>3.0.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>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

五、idea中maven的生命周期和插件

按钮介绍

网络异常,图片无法展示
|

常用命令生命周期

网络异常,图片无法展示
|

生命周期: 从出生到死亡

项目的生命周期: 从项目开始创建到部署成功涉及到各个不同的节点

  • clean : 清除 字节码文件(删除缓存) 没用
  • compile: 编译 没用
  • test: 批量执行携带@Test注解的测试程序 没用
  • package:打包, 根据打包方式 jar/war生成不同的文件, jar包用来引入 , war用来发布
  • install:安装,将这些工程放入本地仓库,以后可以通过坐标访问 , war工程没意义
  • site(了解):站点 , maven会网站发布出去 并且生成一系列的文档信息
  • deploy(了解):远程发布传输,私服使用以后将我们的jar包发布到私服服务器上(maven高级说明)

六、依赖管理--依赖范围

网络异常,图片无法展示
|

scope 域
<scope> 表示当前jar的作用域
test: 只能在测试的时候生效
compile :任何时候有效(重点,可省略)  99%的jar都是compile
runtime : 运行时候有效测试有效  编译无效  Class.forName("com.mysql.jdbc.Driver"); 编译不报错 但运行报错
provided :编译测试有效 运行无效 (运行的时候不需要此jar)  servlet和jsp的jar包  最终我们的项目运行就在tomcat中 而tomcat已经携带了(servlet和jsp的jar包) 运行的时候不携带此jar包 由服务器提供此jar(防止jar包冲突)
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

七、Maven项目pom.xml爆红解决思路

在实际开发中,我们拉去别人的代码后,本地idea中的pom文件未被识别,或者pom文件出现爆红现象,下面给出一些常见的解决思路

  • 检查项目是否被识别成为maven工程
  • 检查自己的网络连接,电脑是否处于断网状态,无法从中央仓库拉取jar包
  • 检查pom文件中的maven坐标是否完整,是否缺少版本号
  • 清除idea缓存,重启idea,重新加载maven工程,重新拉取jar包
  • 是否存在jar包冲突,排除依赖后重新拉取jar包


相关文章
|
3月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
Maven项目管理与构建自动化完全指南
|
8月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
513 27
|
8月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
982 18
|
8月前
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
281 6
|
11月前
|
人工智能 自然语言处理 Java
IDEA + 通义灵码 AI 程序员:快速构建 DDD 后端工程模板
本文介绍了如何利用 IntelliJ IDEA 编辑器和阿里云的通义灵码 AI 程序员,快速搭建一个基于 DDD 领域驱动架构的后端工程模板。
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
695 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
941 1
|
搜索推荐 Java 应用服务中间件
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
当涉及到软件开发和项目管理时,使用一个可靠的构建工具是非常重要的。Maven是一个广泛使用的构建工具,它为Java项目提供了一种简化的构建过程和依赖管理。 在本文中,我们将探讨如何部署Maven并开始使用它来构建您的项目。我们将介绍所需的步骤,并向您提供一些有用的提示和建议。
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
|
Java Maven
Maven【5】在IDEA环境中配置和使用Maven
Maven【5】在IDEA环境中配置和使用Maven
365 1

推荐镜像

更多