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包


相关文章
|
5天前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
Java Maven
Maven【5】在IDEA环境中配置和使用Maven
Maven【5】在IDEA环境中配置和使用Maven
65 1
|
2天前
|
Java Maven
【IDEA】常用快捷键和自定义方法补全(附如何设置IDEA全局配置,如Maven)
【IDEA】常用快捷键和自定义方法补全(附如何设置IDEA全局配置,如Maven)
7 0
|
2天前
|
Java Maven Kotlin
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
|
14天前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
12 1
|
24天前
|
Java Maven
idea编码GBK的不可映射字符Maven修改编码格式的多种方式
idea编码GBK的不可映射字符Maven修改编码格式的多种方式
21 1
|
1月前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
20 0
|
1月前
|
JavaScript Java 关系型数据库
实例!使用Idea创建SSM框架的Maven项目
实例!使用Idea创建SSM框架的Maven项目
38 0
|
1月前
|
Java Maven
idea的Maven依赖问题
idea的Maven依赖问题
|
1月前
|
IDE Java 开发工具
idea中新建工程
idea中新建工程

推荐镜像

更多