通过maven构建一个java项目

Maven 构建 Java 项目 Maven 是一个强大的项目管理和构建自动化工具,广泛用于 Java 项目。它通过提供一个中心化的仓库来管理项目的依赖,并使用 XML 格式的项目对象模型(Project Object Model,POM)文件来描述项目构建的生命周期。在本篇文章中,我们将详细介绍如何使用 Maven 构建 Java 项目。 阅读详情
不知不觉毕业四年了,毕业到现在呆过两家公司,用的都是比较老的技术,基本就是ssh(而且还是比较老版本的ssh),自己也是属于比较懒散的程序员,公司用什么就学什么,没有自己去学习一些比较时髦的技术,虽然说是工作了四年,但感觉自己的技术水平还停留在中低下水平,在这个it技术更新迭代如此之快的年代,一直这样下去恐怕以后难有立足之地。为了不至于被后浪拍得连骨头都找不着,于是下决心开始自学一些新技术。

首先学习的是maven,maven应该算是现在java领域最流行的项目管理工具(gradle的势头貌似也挺猛,后面也得抽空学习一下),关于maven的更多信息,各位看官自行百度吧,因为我也是刚学,对maven的了解还有限,我在学习过程中主要还是将他用于管理项目对第三方jar包的依赖。

在这里先推荐一个maven视频教程孔浩老师的maven视频教程,讲得挺详细的,要学习maven的人可以看看。

在使用之前,请确保系统已经安装了jdk

一、maven的安装配置

进入maven官网下载maven的最新安装包,下载后的是一个压缩包,下载完成后解压到系统任意目录(我的解压目录为:D:\maven\apache-maven-3.3.3),maven解压后的情况如图:


解压完成后配置环境变量:

新建一个系统变量:变量名为M2_HOME;变量值为D:\maven\apache-maven-3.3.3

然后在Path最后面加上;%M2_HOME%\bin,至此整个mavan就算安装完成,打下cmd命令窗口,输入mvn -version显示出如下所示信息,表示maven安装成功.


以前在做项目时,如果项目中需要用到第三方jar包,需要自己到官网去下载此jar包和该jar包依赖的其他jar包,然后放到项目lib目录中,但使用maven以后,几需要几行简单的配置,maven就会自动到maven中央仓库https://repo1.maven.org/maven2/下载相应的jar包,及其依赖包,比例项目中需要用到hibernate核心包,只需要在maven项目配置文件pom.xml(关于pom.xml的详细信息网上已经有很多大神写得很清楚了,在此我就不画蛇添足,我这里也从网上找了一篇写得比较详细的关于pom.xm介绍的连接http://blog.youkuaiyun.com/longeremmy/article/details/9670619)中添加如下配置:

<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-core</artifactId>
	<version>4.3.10.Final</version>
</dependency>
在maven中一个构件可以通过maven坐标(即groupId、artifactId、version)来确定,在此例中maven会自动给我们下载版本号为4.3.0.Final的hibernate-core.jar包及此jar包依赖的其他第三方jar包,此处需要说明的是maven会自动将下载的jar包放到C盘当前用户目录下.m2/repository子目录里(称之为本地仓库),随着项目以后用到的第三方jar包越来越多,本地仓库里的东西也会变得越来越多,占用了C盘空间,为避免此情况,可以修改maven安装目录下conf/settings.xml文件,找到大约53行的<localRepository>/path/to/local/repo</localRepository>将其复制出来放到注释外面,修改本地仓库位置到其他盘(我修改的本地仓库位置为D:\maven\m2\repository),如图:


这样项目中再有需要依赖第三方jar包中,maven便会将依赖的jar包下载到D:\maven\m2\repository这个目录里。根据孔浩老师的视频教程此处还需要将settions.xml复制一份放到D:\maven\m2目录中。

二,使用maven构建项目

打开cmd 命令窗口,随便进入一个目录,如:D:\maven\demo输入命令:mvn archetype:generate -DgroupId=com.chenqa.maven -DartifactId=ch01 -DarchetypeArtifactId=maven-archetype-quickstart,此处maven需要下载一些基础构件,因为maven中央仓库在国外,国内访问会有一些卡,需要等待一会,如果出现长时间等待,可以按ctrn+c,结束当前命令,然后修改maven安装目录下的conf/settings.xml文件(注意是maven安装目录下的,不是本地仓库目录下的settings.xml),找到mirrors配置项,在里面增加一个国内的镜像配置:

<mirror>
   <id>ibiblio</id>
   <mirrorOf>central</mirrorOf>
   <name>Human Readable Name for this Mirror.</name>
   <url>http://mirrors.ibiblio.org/maven2/</url>
</mirror>
然后重新输入命令,如果还不行,再在网上找一个镜像地址,再重试;遇到需要输入的地方,直接回车,至出现:


表示创建成功。创建后的项目目录结构为:

D:/maven/demo
 - src
  - main/java/com/chenqa/maven/App.java
  - test/java/com/chenqa/maven/AppTest.java
 pom.xml
src/main/java下为项目的主代码目录,src/test/java为测试代码目录,pom.xml为项目的maven配置文件。查看代码会发现maven自动生成了一个非常简单的hello world例子。

此时执行mvn test命令,maven会执行测试代码。

执行mvn package命令,maven会自动执行打包命令,在target子目录里生成一个cho1-1.0-SNAPSHOT.jar文件

执行mvn clean命令,会删除target目录。

编辑pom.xml文件,增加项目构建配置,编辑后的pom.xml为

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.chenqa.maven</groupId>
  <artifactId>cho1</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>cho1</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
  <plugins>
	<plugin>
		<artifactId>maven-assembly-plugin</artifactId>
		<version>2.2</version>
		<configuration>
			<archive>
				<manifest>
					<mainClass>com.chenqa.maven.App</mainClass>
				</manifest>
			</archive>
			<descriptorRefs>
				<descriptorRef>jar-with-dependencies</descriptorRef>
			</descriptorRefs>
		</configuration>
		<executions>
			<execution>
				<id>make-assembly</id>
				<phase>package</phase>
				<goals>
					<goal>assembly</goal>
				</goals>
			</execution>
		</executions>
	</plugin>
  </plugins>
  </build>
</project>

然后再执行mvn clean package,在target目录会多出一个cho1-1.0-SNAPSHOT-jar-with-dependencies.jar文件,此文件为可以直接执行的jar文件:

进入target目录,执行java -jar cho1-1.0-SNAPSHOT-jar-with-dependencies.jar命令,系统输出了Hello World信息!



        
如何使用Maven构建Java项目?Maven的使用详细解读 本节详细探讨了 Maven 构建 Java 项目的流程以及构建项目生命周期中使用的各种命令。Apache Maven 是一个项目管理和构建的工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建,报告和文档。 阅读详情

相关推荐

使用 Maven 构建 Java 项目

现在已经安装了 Maven,您需要创建一个 Maven 项目定义。Maven 项目是使用名为pom.xml的 XML 文件定义的。除其他外,该文件提供了项目的名称、版本和它对外部库的依赖关系。在项目的根目录下创建一个名为pom.xml的文件(即放在文件夹旁边​​src​​),并为其提供以下内容:​​pom.xml​​复制除了可选​​元素之外,这是构建 Java 项目所需的最简单的pom.xml文件。​​. POM 模型版本(始终为 4.0.0)。

IT胶囊 581

Google Map API学习记录

去年年底用Google Map API做了一个GIS系统,以下简称GMA,初看GMA的时候感觉写GMA工程师确实挺强的,把Javascript运用的如火纯清,不愧是全球顶尖的公司; 下面我就把我平时遇到的问题,总结一下,顺便做个记录备忘一下,如果在这能发现解决你问题的解决方案,那就更好! 1,限制地图的缩放级别 我们知道GMA的地图的缩放级别是1-20,如果我们只是让用户在...

weixin_30268071的博客 112

Maven深入解析:Java项目构建神器

本文还有配套的精品资源,点击获取 简介:Maven是一个强大的开源构建工具,主要面向Java项目。它通过自动化和智能化的依赖管理、项目信息管理,简化了项目的构建、测试、打包和部署过程。Maven采用统一的项目对象模型(POM)、依赖管理、坐标系统和生命周期管理来提高开发效率,并使用插件来执行具体的构建任务。相较于传统工具Ant,Maven更为自动化,并享有广泛的社区支持。此...

weixin_42174098的博客 1367

Maven 快照(SNAPSHOT)

快照是一种特殊的版本,指定了某个当前的开发进度的副本。不同于常规的版本,Maven 每次构建都会在远程仓库中检查新的快照。现在 data-service 团队会每次发布更新代码的快照到仓库中,比如说 data-service:1.0-SNAPSHOT 来替代旧的快照 jar 包。

1603

解决相同型号USB设备在Windows系统中重复枚举问题

本文详细解析了Windows系统中相同型号USB设备重复枚举问题的成因及解决方案。通过修改注册表、使用PsTools工具清除设备记录以及编程实现自动化处理等方法,有效解决设备识别混乱问题,特别适用于自动化测试和工业设备管理场景。

weixin_42561040的博客 563

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2287

Java新手小白入门篇 Maven项目的构建

新手小白 - 使用IDEA创建简单maven项目

weixin_46030002的博客 4756

射频电路设计——射频器件基础

本文仅供自己复习使用,请勿转载! 射频电路制作方法 MCM工艺 CMOS工艺 趋肤效应、深度 频率越高趋肤效应越明显 高频器件 高频电阻 绕线的比贴片的多一个电感,是因为绕线的因为是线绕制的,只有有线就会有电感,所以绕线电阻等效模型会比贴片的多一个电感 多晶硅电阻模型 深线性区MOS电阻 高频电阻的频率响应 记忆的话就后面的频率特性有点像电容的 高频电容 作用 单层贴片式电容 多层贴片式电容 MIM电容 MOM电容 由于是并联的,所以总的电容值是单个的直接相加 PN结电容 M.

输出每日所学,供大家学习使用 7141

maven-项目构建工具总结

maven 1.概念 maven是一个项目管理和构建的工具 2.作用 (1)很方便对项目进行统一的管理(maven的命令) (2)很方便的对项目所依赖的jar包进行下载管理 3.安装和使用 前提:jdk的环境(maven是java开发的,所以需要有jre的环境) maven下载、解压、配置环境变量、测试 maven配置 conf/settings.xml 修改settings.xml的3个位置 : 本地仓库的位置(c盘----其他盘符) 程序员windows家庭版(影音娱乐使用)----》windows

qw1666524914的博客 254

ANSYS APDL生死单元实战:焊接模拟从入门到精通(附完整命令流)

本文详细介绍了使用ANSYS APDL进行焊接模拟的核心技术——生死单元法。通过一个完整的平板对接焊案例,从原理剖析、模型搭建、命令流编写到移动热源施加和后处理,手把手指导工程师掌握这一动态仿真方法,有效预测焊接过程中的温度场、残余应力与变形。

k6l7m8n9的博客 150

从ATE到ATPG:基于Scan Chain的芯片制造缺陷定位实战解析

本文深入解析了从ATE到ATPG的芯片制造缺陷定位实战技术,重点介绍了Scan Chain的工作原理、异步复位触发器处理技巧以及Design Compiler中的DFT实现方法。通过实际案例展示了如何利用ATE测试数据和ATPG工具进行精确的缺陷定位,并分享了提升测试覆盖率和优化测试成本的专业技巧,为芯片测试工程师提供了宝贵的实战经验。

weixin_42527160的博客 378

2020.2idea创建web_如何使用IDEA将JaveWeb项目打成war包?

一、IEDA创建Web项目。1.新建项目2.在WEB-INF中新建classes和lib文件夹3.将classes设置成编译文件输出路径4.将lib文件夹设置成该项目jar包存放路径5.配置tomcat服务信息注意:这里运行该web项目时可能会出现控制台打印日志乱码,需要将当前项目设置的tomcat服务路径中的日志配置文件中的编码格式改成当...

weixin_39611072的博客 475

FDTD脚本教程——结构的创建

文章目录结构的搭建创建长方体创建柱体多边形柱体(椭)圆柱体圆环柱自定义形状创建surface波导球棱锥 在lumerical中,可以使用脚本进行操作,可在右侧脚本编辑器运行,或者直接在下方shell输入。 结构的搭建 创建长方体 um = 1e-6; nm = 1e-7; addrect; set("name","myRect"); set("material","SiO2 (Glass) - Palik"); set("render type","wireframe"); # 默认是细节渲染,也就是det

战斗果冻的训练中心 2万+

使用 Maven 构建一个简单的 Java 项目

通过本指南,我们学习了 Maven 和 Java 的安装、如何使用 Maven 设置一个简单的 Java 项目以及如何运行该项目。Maven 简化了项目的设置和管理,使得处理依赖关系、构建过程和项目结构变得更加容易。遵循上述步骤,您可以快速开始使用 Maven 构建和运行 Java 应用程序。

疯一样的码农 1464

Centos7网络配置(设置固定ip)

刚安装完系统,有的人尤其没有勾选自动网络配置的情况下,是访问不了外网的,本机也连不通虚拟机。或者现在有的是动态ip,几次之后启动ip地址就变了,会导致其他软件或程序之前连接配置要重新更改,很麻烦,下面讲解一下如何配置网络,如何设置成固定ip。

个人笔记git:https://gitee.com/tlangp/note.git 8051

YOLOv11与Roboflow数据预处理实战:从原始数据到高性能模型

摘要 Roboflow平台与YOLOv11的结合为计算机视觉开发者提供了高效的工作流。Roboflow提供数据集管理、预处理、增强和导出的一站式解决方案,支持多种标注格式并与YOLOv11无缝集成。YOLOv11在YOLO系列基础上进行了架构创新,包括深度宽度优化、C3k2机制和C2PSA注意力机制,提供从纳米版到超大版的多种模型变体。 使用Roboflow的流程包括:注册工作区、收集/导入数据(支持本地和公开数据集)、专业标注(含SAM辅助)、预处理(尺寸调整、归一化等)和数据增强(几何变换和颜色调整)。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 349

maven 构建java项目_使用Maven构建Java项目

Maven是一个不错的Java项目构建工具,类似Make有Makefile,Ant有build.xml,Gradle有build.gradle,Maven有pom.xml,在一个项目工程里,maven通过pom.xml文件对项目进行编译、测试、打包等,现在从零记录一下流程:1. 新建一个项目根目录:mkdir mvn_test2. 新建pom.xml文件:cd mvn_test &&amp...

weixin_40001924的博客 569

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Maven构建Java项目Maven构建&项目测试Maven引入外部依赖Maven项目模板

Maven 构建 Java 项目 解释一下这段代码,为什么可以构建一个目录清晰的maven项目“mvn archetype:generate "-DgroupId=com.companyname.bank" "-DartifactId=consumerBanking" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DinteractiveMode=false"” Maven构建&项目测试 我们不是已经构建了一个maven项目了吗?为什么还要使

m0_62574889的博客 1488

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

结合 Maven 来构建 Java 项目

开篇词 该指南将引导你使用 Maven 构建简单的 Java 项目。   你将创建的应用 你将借助 Maven 构建一个简单的应用。   你将需要的工具 大概 15 分钟左右; 你最喜欢的文本编辑器或集成开发环境(IDE) JDK 8 或更高版本;   如何完成这个指南 像大多数的 Spring 入门指南一样,你可以从头开始并完成每个步骤,也可以绕过你已经熟悉的基...

纽雪澳诺加海美德的博客 768

java maven 项目构建,Java的项目构建工具Maven的使用教程

Java的项目构建工具Maven的使用教程一、Maven是什么Maven是一个用java开发的项目构建工具, 它能使项目构建过程中的编译、测试、发布、文档自动化, 大大减轻了程序员部署负担。二、安装Maven安装maven非常简单,访问Maven官方页下载即可:http://maven.apache.org/download.cgi下载完后配置M2_HOME环境变量, 然后终端运行mvn --ve...

weixin_39957461的博客 204

使用Maven构建Java项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 一、Maven是什么? Maven 是一个项目管理和构建自动化工具。Maven基于POM(Project object model),能够管理项目的构建、报表、文档等信息。 我们这里主要讲的Maven的项目构建功能。有了Maven,我们可以方便的管理Java项目的生命周期和依赖。通过定义一个POM文件,我们就可

JJ_nan的博客 1077

使用 IntelliJ IDEA 和 Maven 构建 Java 项目

在 Java 开发中,使用 Maven 是一种广泛采用的构建工具,而 IntelliJ IDEA 则是一款功能强大的集成开发环境(IDE)。结合 Maven 和 IntelliJ IDEA,可以更加高效地管理和构建 Java 项目。本文将介绍如何在 IntelliJ IDEA 中使用 Maven 构建 Java 项目。

m0_55887994的博客 2927
下一篇: 基于注解的spring mvc入门
圆猿缘
博客等级 码龄17年 9粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值