管理Maven项目入门

本文介绍了Maven作为JavaWeb开发的构建工具,其核心思想是约定大于配置,简化了jar包管理。详细讲解了Maven的下载、环境变量配置、阿里云镜像设置、本地仓库配置以及在IDEA中的使用。还提到了在IDEA中创建Maven项目、标记源代码目录、配置Tomcat,以及Pom.xml文件的结构。此外,针对可能出现的资源配置问题,给出了解决方案。

5.Maven

简介:

  1. 在JavaWeb开发中,需要使用大量 的jar包,我们手动去导入;

  2. 如何能够让一个东西自动帮我导入和配置这个jar包,

    因此,Maven诞生了!

5.1、Maven架构管理工具

目前就是用来方便导入jar包的!

Maven的核心思想:约定大于配置

  • 有约束,就不要去违法

Maven会规定好你该如何去编写Java代码,必须要按照这个规范来

5.2、下载按照Maven

官网:https://maven.apache.org/download.cgi

在这里插入图片描述

第二个 zip

5.3、配置环境变量

配置如下(版本有点高,在高于3.6.1就会在下面几个步骤出错,存在识别不出来的问题)

  • M2_HOME maven目录下的bin目录 ,如: D:\Server\maven\apache-maven-3.8.1\bin
  • MAVEN_HOME maven的目录 如: D:\Server\maven\apache-maven-3.8.1
  • path 加一个配置 %MAVEN_HOME%\bin;

在这里插入图片描述

测试Maven是否安装成功,保证配置完毕。

5.4、阿里云镜像

  • 镜像:mirrors
    • 作用:加速我们的下载
  • 国内建议使用阿里云镜像
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>*</mirrorOf>
	</mirror>

5.5、本地仓库

在本地的仓库,远程仓库;

见一个本地的仓库:localRepository

<localRepository>D:\Server\maven\apache-maven-3.8.1\maven-repo</localRepository>

在这里插入图片描述

5.6、在IDEA中使用Maven

在这里插入图片描述
在这里插入图片描述

1.完事之后finish就好

2.正常来说配置成功后会出现,但是下图是引用狂神的截图,他的是2019版的idea,2020年版的idea已经没有自动导入选项了

在这里插入图片描述

就成了下面这种

在这里插入图片描述

3.可以看到本地仓库文件夹下是否有多什么东西?2020版的因为没有自动下载,所以还是没有东西

4.IDEA中的Maven设置

注意:IDEA项目创建成功后
在这里插入图片描述

5.到这里IDAE配置的和使用就OK了!

5.7、创建一个普通的Maven项目

直接new project

在这里插入图片描述

在这里插入图片描述

而回到5.6配置的那个web maven项目,可以看到下面这只有web项目才会有

在这里插入图片描述

5.8、在IDEA中标记文件夹

在main下新建一个java和resources文件夹

—标记方式1

在这里插入图片描述

—标记方式2

在这里插入图片描述

5.9、在IDEA中配置Tomcat

首先

在这里插入图片描述

在这里插入图片描述

这里如果找不到Tomcat,就去File—settings—plugins,搜一个tomcat server插件下载,再执行

注意不要下载成mart Tomcat,如果你是IDEA社区版,就没有Tomcatserver,需要去下载开发者版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OK,就配置完成了

在这里插入图片描述

5.10、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.chen</groupId>
  <artifactId>javaweb-01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--Package:项目的打包方式
  jar:java应用
  war:JavaWeb应用
  -->
  <packaging>war</packaging>


  <name>javaweb-01-maven Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>


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

  <!--项目依赖-->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </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>

5.11、解决遇到的问题

每次创建Maven项目都要配置

maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效的问题

什么意思?

  • 在java目录下新建properties
  • 在resources目录下新建properties
  • 启动tomcat
  • 我们发现java和resources都被打包到了同一个路径下:classes,我们俗称这个路径为classpath
  • java目录下的properties并没有被打包,resources目录下的properties被打包了,这就是我们说的我们写的配置文件,无法被导出或者生效

在这里插入图片描述

解决方案:

<!--在build中配置resources,来防止我们资源导出失败的问题-->
<!--resources下的properties、xml都可以导出-->
<!--java下的properties、xml都可以导出-->
<build>
    <resources>
        <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
        </resource>
        <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
        </resource>
    </resources>
</build>
————————————————
以上部分直接拿了博主原图,参考视频<遇见狂神说>原文链接:https://blog.csdn.net/Augenstern_QXL/article/details/118443858
通过短时倒谱(Cepstrogram)计算进行时-倒频分析研究(Matlab代码实现)内容概要:本文主要介绍了一项关于短时倒谱(Cepstrogram)计算在时-倒频分析中的研究,并提供了相应的Matlab代码实现。通过短时倒谱分析方法,能够有效提取信号在时间与倒频率域的特征,适用于语音、机械振动、生物医学等领域的信号处理与故障诊断。文中阐述了倒谱分析的基本原理、短时倒谱的计算流程及其在实际工程中的应用价值,展示了如何利用Matlab进行时-倒频图的可视化与分析,帮助研究人员深入理解非平稳信号的周期性成分与谐波结构。; 适合人群:具备一定信号处理基础,熟悉Matlab编程,从事电子信息、机械工程、生物医学或通信等相关领域科研工作的研究生、工程师及科研人员。; 使用场景及目标:①掌握倒谱分析与短时倒谱的基本理论及其与傅里叶变换的关系;②学习如何用Matlab实现Cepstrogram并应用于实际信号的周期性特征提取与故障诊断;③为语音识别、机械设备状态监测、振动信号分析等研究提供技术支持与方法参考; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,先理解倒谱的基本概念再逐步实现短时倒谱分析,注意参数设置如窗长、重叠率等对结果的影响,同时可将该方法与其他时频分析方法(如STFT、小波变换)进行对比,以提升对信号特征的理解能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值