当前位置: 首页 > news >正文

maven管理使用

maven基本使用

    • 一、简介
    • 二、配置文件
    • 三、项目结构
      • maven基本标签
      • 实践(例子)
    • 四、pom插件配置
    • 五、热部署
    • 六、maven 外部手动加载jar
    • 打包方式
    • Maven上传私服或者本地

一、简介

  • 基于Ant 的构建工具,Ant 有的功能Maven 都有,额外添加了其他功能.
  • 本地仓库:计算机中一个文件夹,自己定义是哪个文件夹.
  • 中央仓库:网上地址https://repo1.maven.org/maven2/maven (因为国外网站访问较慢,通常会改变)

二、配置文件

  1. 下载maven包

  2. 配置环境变量,创建MAVEN_HOME

    MAVEN_HOME -- 目录:maven>bin
    在path下添加:%MAVEN_HOME%
    
  3. 修改conf/settings.xml中配置文件信息

    1. 修改本地仓库存储位置

      <localRepository>D:/maven/r2/myrepository</localRepository>
      
    2. 修改jdk版本(和本地运行配置jdk版本要一致)

      <profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
      </profile>
      
    3. 修改中央仓库镜像(阿里云),可以包含多个仓库

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

三、项目结构

maven基本标签

  1. groupId> : 公司名.公司网址倒写

  2. artifactId>: 项目名

  3. version>: 版本

  4. packaging> :打包方式
    4.1 (pom :父项目 ) | (war :web项目) | (jar:java项目)

  5. dependencyManagement> 写在父项目 表示私有化 子类项目不能直接继承 可以继承父项目的版本号 ,(父项目也不会引用下载jar包)

  6. <properties>
    <spring-version>5.1.6.RELEASE</spring-version>
    </properties>
    
    1. 由父类声明,统一管理所有子项目的版本号
    2. 子标签名称自定义
    3. ${名字} 引用标签的值

实践(例子)

声明:如需要依赖,前提需要将父工程 install本地或者上传私库

如:子工程直接引用,父工程的mysql

<!--父工程 pom--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.10</version><relativePath/> </parent><groupId>com.example</groupId><!--基本字段--><artifactId>deploye-test</artifactId><version>1.0.1-SNAPSHOT</version><!--基本字段--><name>deploye-test</name><description>deploye-test</description><!--基本字段--><packaging>pom</packaging><!--基本字段--><properties><java.version>8</java.version><mysql.version>5.1.47</mysql.version></properties><dependencyManagement><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency></dependencies></dependencyManagement>

子工程—可直接引用父工程的version

 <parent><groupId>com.example</groupId><artifactId>deploye-test</artifactId><version>1.0.1-SNAPSHOT</version></parent><groupId>com.example</groupId><artifactId>demo3-dependence-test</artifactId><version>0.0.1-SNAPSHOT</version><name>demo3-dependence-test</name><description>demo3-dependence-test</description><packaging>jar</packaging><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies>

四、pom插件配置

  1. tomcat 插件配置

    1. 可以动态分布式发布项目

    2. 减少tomcat 的压力

    3. pom.xml 如下:

    <build>
    <plugins><!-- tomcat插件控制 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><!-- 控制端口 --><port>8001</port><!-- 控制发布项目名 --><path>/reception</path><uriEncoding>UTF-8</uriEncoding></configuration></plugin><!-- maven插件控制 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target><encoding>utf-8</encoding></configuration></plugin></plugins></build>
    
  2. 修改资源加载配置

    1. 默认maven项目只加载 “ src/main/resources ” 下的xml

    2. 代码如下:

      <build><!-- 修改解析xml文件默认路径 --><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><include>**/*.xml</include><include>**/*.properties</include></includes></resource></resources></build>
      

五、热部署

  1. 将项目部署到 服务器上

  2. 修改tomat/conf/tomcat-users.xml 添加

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <!-- 设置账户 密码-->
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
    
  3. 在maven 项目的pom.xml 中tomcat 插件的里配置

    <plugins>
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <!-- 控制tomcat 端口号-->
    <port>80</port>
    <!-- 项目发布到tomcat 后的名称-->
    <!-- / 相当于把项目发布名称为ROOT -->
    <!-- /abc -->
    <path>/jqk</path>
    <username>tomcat</username>
    <password>tomcat</password>
    <!--服务器的ip-->
    <url>http://192.168.75.133:8080/manager/text</url>
    </configuration>
    </plugin>
    </plugins>
    
  4. 右键项目–> run as --> maven build(以前写过,选择第二个) -->输入

    1. tomcat7:deploy 第一次发布
    2. tomcat7:redeploy 不是第一次发布.

六、maven 外部手动加载jar

如为文件夹,则直接在dos命令mvn install即可

mvn install:install-file 
-DgroupId=com.aliyun  #坐标
-DartifactId=aliyun-sdk-vod-upload #名称
-Dversion=1.4.12 #版本
-Dpackaging=jar #类型
-Dfile=aliyun-java-vod-upload-1.4.12.jar#下载好的jar名

例子

例:
mvn install:install-file -Dfile=E:\taobao-sdk-java-auto-20200403.jar -DgroupId=com.taobao -DartifactId=taobao-sdk-java-auto -Dversion=1.0.1 -Dpackaging=jar<!--对应pom坐标 -->
<dependency><groupId>com.taobao</groupId><artifactId>taobao-sdk-java-auto</artifactId><version>1.0.1</version>
</dependency>

打包方式

pom: 一般作为依赖资源的父项目使用,用来控制jar包的版本
jar: 一般使用与实际项目工程打包
war: 一般为静态资源进行打包使用war

Maven上传私服或者本地

私服上传 maven–》Lifecycle–>deploy

本地上传 maven–》Lifecycle–>install
在这里插入图片描述

相关文章:

maven管理使用

maven基本使用 一、简介二、配置文件三、项目结构maven基本标签实践(例子) 四、pom插件配置五、热部署六、maven 外部手动加载jar打包方式Maven上传私服或者本地 一、简介 基于Ant 的构建工具,Ant 有的功能Maven 都有,额外添加了其他功能.本地仓库:计算机中一个文件夹,自己定义…...

如何在一个系统中同时访问异构的多种数据库

如何在一个系统中同时访问异构的多种数据库 比如在一个系统中&#xff0c;要同时访问MySQL,H2, MsAccess, Mongodb. 要是使用Hibernate, MyBatis这些ORM&#xff0c;难度简直不敢想像。 要是MySQL还使用了分库分表&#xff0c;那更加不得了&#xff0c;一大堆的组件都要配合着…...

半监督学习 - 半监督聚类(Semi-Supervised Clustering)

什么是机器学习 半监督聚类是一种集成了有标签数据和无标签数据的聚类方法&#xff0c;其目标是在聚类的过程中利用有标签数据的信息来提高聚类性能。在半监督聚类中&#xff0c;一部分数据集有已知的标签&#xff0c;而另一部分没有标签。 以下是半监督聚类的基本思想和一些…...

实现STM32烧写程序-(3) Hex文件结构

简介 要对STM32进行更新动作, 就需要对程序文件进行解析, 大部分编译的生成程序文件是Hex或者Bin, 先来看看Hex的结构吧。 资料 Hex文件 简介 Hex文件格式最早由Intel公司于1973年创建。它最初是为了在Intel 8080微处理器上存储和传输二进制数据而设计的。随后&#xff0c;Hex…...

精品量化公式——“区域突破”,应对当下行情较好的主图看盘策略

不多说&#xff0c;直接上效果如图&#xff1a; ► 日线表现 代码评估 技术指标代码评估&#xff1a; VAR1, VAR2, VAR3&#xff1a;这些变量是通过指数移动平均&#xff08;EMA&#xff09;计算得出的。EMA是一种常用的技术分析工具&#xff0c;用于平滑价格数据并减少市场“…...

自然语言处理5——发掘隐藏规律 - Python中的关联规则挖掘

目录 写在开头1. 了解关联规则挖掘的概念和实际应用1.1 关联规则挖掘在市场分析和购物篮分析中的应用1.2 关联规则的定义和基本原理1.3 应用场景2. 使用Apriori算法和FP-growth算法进行关联规则挖掘2.1 Apriori算法的工作原理和实现步骤2.2 FP-growth算法的优势和使用方法2.3 A…...

【记录】重装系统后的软件安装

考完研重装了系统&#xff0c;安装软件乱七八糟&#xff0c;用到什么装什么。在这里记录一套标准操作&#xff0c;备用。一个个装还是很麻烦&#xff0c;我为什么不直接写个脚本直接下载安装包呢&#xff1f;奥&#xff0c;原来是我太菜了还不会写脚本啊&#xff01;先记着吧&a…...

Android 13 - Media框架(31)- ACodec(七)

之前的章节中我们解了 input buffer 是如何传递给 OMX 的&#xff0c;以及Output buffer 是如何分配并且注册给 OMX 的。这一节我们就来看ACodec是如何处理OMX的Callback的。 1、OMXNodeInstance Callback 这一节我们只大致记录Callback是如何传递给ACodec的。在之前的学习中我…...

快速了解VR全景拍摄技术运用在旅游景区的优势

豆腐脑加了糖、烤红薯加了勺&#xff0c;就连索菲亚大教堂前都有了“人造月亮”&#xff0c;在这个冬季&#xff0c;“尔滨”把各地游客宠上了天。面对更多的游客无法实地游玩&#xff0c;哈尔滨冰雪世界再添新玩法&#xff0c;借助VR全景拍摄技术对冬季经典冰雪体验项目进行全…...

分布形态的度量_峰度系数的探讨

集中趋势和离散程度是数据分布的两个重要特征,但要全面了解数据分布的特点&#xff0c;还应掌握数据分布的形态。 描述数据分布形态的度量有偏度系数和峰度系数, 其中偏度系数描述数据的对称性,峰度系数描述与正态分布的偏离程度。 峰度系数反映分布峰的尖峭程度的重要指标. 当…...

HCIP 重发布

拓扑图&IP划分如下&#xff1a; 第一步&#xff0c;配置接口IP&环回地址 以R1为例&#xff0c;R2~R4同理 interface GigabitEthernet 0/0/0 ip address 12.1.1.1 24 interface GigabitEthernet 0/0/1 ip address 13.1.1.1 24 interface LoopBack 0 ip address 1.1.1.…...

FX图中的节点代表什么操作

在 FX 图中&#xff0c;每个节点代表一个操作。这些操作可以是函数调用、方法调用、模块实例调用&#xff0c;也可以是 torch.nn.Module 实例的调用。每个节点都对应一个调用站点&#xff0c;如运算符、方法和模块。 一.节点操作 下面是一些节点可能代表的操作&#xff1a; 1…...

【Java 设计模式】创建型之单例模式

文章目录 1. 定义2. 应用场景3. 代码实现1&#xff09;懒汉式2&#xff09;饿汉式 4. 应用示例结语 在软件开发中&#xff0c;单例模式是一种常见的设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点。单例模式在需要控制某些资源&#xff0c;如数…...

FlinkAPI开发之窗口(Window)

案例用到的测试数据请参考文章&#xff1a; Flink自定义Source模拟数据流 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135436048 窗口的概念 Flink是一种流式计算引擎&#xff0c;主要是来处理无界数据流的&#xff0c;数据源源不断、无穷无尽。…...

【Unity】Joystick Pack摇杆插件实现锁四向操作

Joystick Pack ​ 简介&#xff1a;一款Unity摇杆插件&#xff0c;非常轻量化 ​ 摇杆移动类型&#xff1a;圆形、横向、竖向 ​ 摇杆类型&#xff1a; Joystick描述Fixed固定位置Floating浮动操纵杆从用户触碰的地方开始&#xff0c;一直固定到触碰被释放。Dynamic动态操纵…...

29 旋转工具箱

效果演示 实现了一个菜单按钮的动画效果&#xff0c;当鼠标悬停在菜单按钮上时&#xff0c;菜单按钮会旋转315度&#xff0c;菜单按钮旋转的同时&#xff0c;菜单按钮旋转的8个小圆圈也会依次旋转360度&#xff0c;并且每个小圆圈的旋转方向和菜单按钮的旋转方向相反&#xff0…...

WeNet2.0:提高端到端ASR的生产力

摘要 最近&#xff0c;我们提供了 WeNet [1]&#xff0c;这是一个面向生产&#xff08;工业生产环境需求&#xff09;的端到端语音识别工具包&#xff0c;在单个模型中&#xff0c;它引入了统一的两次two-pass (U2) 框架和内置运行时&#xff08;built-in runtime&#xff09;…...

第九部分 使用函数 (四)

目录 一、foreach 函数 二、if 函数 三、call 函数 一、foreach 函数 foreach 函数和别的函数非常的不一样。因为这个函数是用来做循环用的&#xff0c;Makefile 中的 foreach 函数几乎是仿照于 Unix 标准 Shell&#xff08;/bin/sh&#xff09;中的 for 语句&#xff0c;或…...

一文读懂「Prompt Engineering」提示词工程

在了解提示过程之前&#xff0c;先了解一下什么是提示prompt&#xff0c;见最后附录部分 一、什么是Prompt Engingering&#xff1f; 提示工程&#xff08;Prompt Engingering&#xff09;&#xff0c;也被称为上下文提示&#xff08;In-Context Prompting&#xff09;&#x…...

微信小程序(一)简单的结构及样式演示

注释很详细&#xff0c;直接上代码 涉及内容&#xff1a; view和text标签的使用类的使用flex布局水平方向上均匀分布子元素垂直居中对齐子元素字体大小文字颜色底部边框的宽和颜色 源码&#xff1a; index.wxml <view class"navs"><text class"active…...

Speechless:一键永久保存你的微博记忆,免费导出高质量PDF

Speechless&#xff1a;一键永久保存你的微博记忆&#xff0c;免费导出高质量PDF 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在数字记忆日益珍贵…...

ETS2LA终极指南:三步开启《欧洲卡车模拟2》自动驾驶新时代

ETS2LA终极指南&#xff1a;三步开启《欧洲卡车模拟2》自动驾驶新时代 【免费下载链接】Euro-Truck-Simulator-2-Lane-Assist Plugin based interface program for ETS2/ATS. 项目地址: https://gitcode.com/gh_mirrors/eur/Euro-Truck-Simulator-2-Lane-Assist 你是否梦…...

在Windows系统中快速配置Taotoken的Python调用环境

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Windows系统中快速配置Taotoken的Python调用环境 对于Windows平台的开发者而言&#xff0c;快速搭建一个能够调用多种大模型的环…...

告别龟速下载:手把手教你离线部署Wine 5.0的Mono与Gecko组件

1. 为什么你需要离线安装Wine组件 每次在Linux上配置Wine运行Windows程序时&#xff0c;最让人头疼的就是等待Mono和Gecko组件下载的过程。我曾经在一个网络状况不太好的服务器上安装Wine&#xff0c;光是下载这两个组件就花了整整三个小时&#xff0c;期间还因为网络波动失败…...

3分钟让键盘操作在屏幕上“跳舞“:Keyviz完全指南 [特殊字符]

3分钟让键盘操作在屏幕上"跳舞"&#xff1a;Keyviz完全指南 &#x1f3af; 【免费下载链接】keyviz Keyviz is a free and open-source tool to visualize your keystrokes ⌨️ and &#x1f5b1;️ mouse actions in real-time. 项目地址: https://gitcode.com/g…...

Cursor编辑器深度解析:AI驱动的智能编程助手如何重塑开发工作流

1. 项目概述&#xff1a;一个为开发者而生的“智能副驾”如果你是一名开发者&#xff0c;最近一定在某个技术社区、朋友圈或者同事的聊天里&#xff0c;听到过“Cursor”这个名字。它不是某个新的编程语言&#xff0c;也不是一个框架&#xff0c;而是一个被许多一线工程师私下称…...

游戏交易税、年龄锁与拒付账单:APP出海全球合规风暴

上周&#xff0c;监管与平台的合规重拳&#xff0c;密集落在了游戏交易、未成年人保护和支付链条上。几项变化直接且锋利&#xff0c;对出海游戏厂商而言&#xff0c;已不再是远期预警&#xff0c;而是迫在眉睫的执行项。 美国州级监管&#xff1a;直指游戏内购与停服责任 科…...

增材制造如何破解光电子小批量定制化制造难题

1. 项目概述&#xff1a;一份被“雪藏”的产业复兴蓝图最近在整理行业资料时&#xff0c;我翻到了一篇2012年《EE Times》的老文章&#xff0c;标题叫《Seeing the light on optoelectronics manufacturing》。文章的核心观点很有意思&#xff0c;它批评了当时美国国家研究委员…...

Claude code热门快捷指令清单

文章目录1、Claude code 热门快捷指令1.1、上下文控制类1.2、回退与实验类1.3、质量审查类1.4、模型与成本控制类1.5、自动化与远程协作类1.6、官方热门指令清单1、Claude code 热门快捷指令 Claude code热门快捷指令清单。分为上下文控制、回退与实验、质量审查、模型与成本控…...

模块化AI智能体框架:从原理到实践,打造高效开发副驾驶

1. 项目概述&#xff1a;一个为开发者设计的模块化AI智能体框架如果你和我一样&#xff0c;每天都在和代码打交道&#xff0c;同时也在探索如何让AI真正成为你的“副驾驶”&#xff0c;而不是一个只会闲聊的玩具&#xff0c;那你肯定对如何高效地使用Cursor、Claude或者GPT来辅…...