热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Maven开发

  1. Maven简介:

Maven是 Apache软件基金会的一个开源项目,它用来帮助开发者管理项目依赖(管理项目中的jar)、完成项目的编译、测试、

打包和发布等工作。

官网:htt:/ maven. apache. org

·使用 Maven的好处

1、促进项目开发过程规范化;

2、项目资源和文档管理自动、高效

3、利用 Maven及其插件还可以获得代码检査报告、单元测试覆盖率、实现集成测试等。

使用maven首先eclipse中必须要集成maven插件

没有可自己集成maven插件(参考资料)

注:Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅。

Maven 中的概念

Maven 管理的项目的根目录下都有一个 pom.xml 文件。pom.xml 文件指示 Maven 如何工作。

在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、项目依赖的 jar、插件、编译选项等。

一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构件(jar包)。

项目坐标

在 Maven 中,将每个项目最终生成的文件称为 artifact(构件),它可以是 jar 文件,也可以是 war 文件。

groupId、artifactId(项目名称)、packaging、version 的组合被称为项目的坐标,它们形成了项目的唯一标识,Maven

通过坐标来精确定位构件。其中 groupId、artifactId、version 是必须的,且这三项的值必须唯一,packaging是可选的(默认为 jar)。

2.Maven工程项目结构:

Maven开发

 

3.Maven开发环境搭建:

3.1下载maven服务器

在百度搜索maven官网如下图:

 

 Maven开发

 

 

 

 

点击链接链接到maven官网网站如下图: https://maven.apache.org

 Maven开发

 

点击download进行下载如下图

 Maven开发

 

3.2安装,配置maven

点击下载二进制的apache-maven-3.5.2-bin.zip进行解压,"然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version查看版本如下图:

 Maven开发

 

表示maven环境配置成功。

接下来根据情况在本地磁盘中建立通过maven下载后jar文件所存储的文件夹,一般我们称为"仓库(repository)";最终是如何将下载的jar文件存储到我们指定的仓库中呢?需要在maven的服务器解压的文件中找到conf文件夹下的settings.xml文件进行修改,如下图所示:

 

 Maven开发

 

到此如何下载完毕,接下来根据你的开发工具在开发工具中配置maven插件,我们在此使用eclipse进行开发,现在所使用的eclipse一般都有maven插件,所以不需要配置,只需要和maven服务器进行关联即可,首先打开eclipse如下图:

 Maven开发

 

找到maven,然后展开如下图:

 Maven开发

 

找到installations进行安装,接下来展开User Settings选项如下图:

 Maven开发

 

关联maven服务器下的settings.xml即可,

到此环境搭建完毕。

 

3.3创建maven工程

接下来新建一个maven工程即可,如下图所示:

 

 

 Maven开发

 

 Maven开发

Maven开发

 

Maven项目目录结构:

项目根目录下有自动生成的 pom.xml 文件。

根目录下一般包含两个子目录:src 和 target。

target 目录用于存放项目构建的输出文件,比如 class 文件以及打包后的 jar 文件等。

src 目录下通常分为如下目录:

 Maven开发

 

3.4修改目录结构并配置依赖

1、项目目录如果不足,可手工添加;

2、项目右键->Java EE Tools->Generate Deployment Descriptor Stub

生成 web.xml 文件;

3、项目右键->Maven->Update Project

 

3.5 maven环境测试案例下载jar文件

在百度搜索maven仓库官网(http://mvnrepository.com/)如下图所示:

 Maven开发

 

在此官网就可以下载自己所需开发jar包,继续点击链接打开如下:

 Maven开发

 

例如下载servlet jar包

在Pom.xml文件配置jar包信息,使用maven自动下载jar包

            javax.servlet

            javax.servlet-api

            3.1.0

            provided

        

 

元素

该元素用于配置依赖,内部可包含多个

示例如下:

junit

junit

3.8.1

jar

test

true

 

 

 

各个子元素功能解释:

,:依赖项的基本坐标

:依赖项的 packaging 类型,默认是 jar;

:依赖项的作用范围,默认是 compile。各个取值及含义如下:

compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖包会被拷贝到 war 包中的 lib 目录中

provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web 容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包

runtime:编译项目时不使用此依赖项,仅运行时依赖。如果你的项目最终打包为 war 包,则该 jar 包最终跟随工程打包。比如数据库驱动 jar,编译时不需要,运行时才使用。

test:在编译测试代码及运行测试的时候依赖此 jar 包。该 jar 包不会被打包。比如 junit

system: 编译项目主代码和测试代码时使用此依赖项,配合 systemPath 元素显式地指定依赖文件的本地文件系统路径。运行时该 jar 包由目标系统提供。此类依赖不是从 Maven 仓库获取,由本地系统提供,可能造成构件的不可移植,因此应谨慎使用。systemPath 元素也可以引用环境变量,如:

javax.sql

jdbc-stdext

2.0

system

${java.home}/lib/rt.jar

 

六、元素

在 pom 的元素下自定义的名值对,可用于整个 pom 文件中。如下示例:

<junit.version>3.8.1

 

junit

junit

${junit.version}

test

 

3.6maven项目打war

右键pom.xml文件,选择Debug asRun as 都行。

先选择maven clear清除上次打包的版本

然后选择选择Maven install  打包

War包会自动存放在target目录中,war包部署到服务器即可

 Maven开发

 


推荐阅读
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 探讨 jBPM 数据库表结构设计的精要与实践
    探讨 jBPM 数据库表结构设计的精要与实践 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • Spring 中 Bean 信息定义的三种方法探讨
    本文详细探讨了 Spring 框架中实现 Bean 信息定义的三种方法:基于 XML 配置、基于注解配置和基于 Java 类配置。每种方法都有其适用场景和优缺点。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
author-avatar
霸气的萱---_299
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有