Maven项目管理工具简单搭建

3 篇文章 0 订阅

Maven是apache下的一个纯java开发的开源项目  只是用于管理java项目的

优点

    依赖管理  对jar包的统一管理

    一键构建项目  编译  测试 打包 部署

    可以跨平台

    应用于大型项目  可以提高开发效率

Maven的核心配置文件 在安装目录下的conf\settings.xml

Maven环境变量的配置

    maven3.3.x所需要的jdk都是需要1.7以上的版本的

    Path  %MAVEN_HOME%\bin

Maven的仓库分为本地仓库  远程仓库  中央仓库

    本地仓库由开发者自己维护

    远程仓库由公司或组织进行维护

    中央仓库由apache团队维护

    项目中需要包时  先从本地仓库中找 本地仓库若没有 则从远程仓库中找  实在不行从中央仓库中进行获取

Maven本地仓库的配置 只需要修改conf/settings.xml即可

Maven的常用命令

    查看版本 mvn -v

    部署项目(一键启动)  在项目目录下 mvn tomcat:run

    清理项目编译好的class文件  mvn clean

    编译生成target文件夹  mvn compile  只编译主目录的文件

    编译测试文件 mvn test  只编译test目录的文件

    打包  mvn package  打包文件的名称取决于项目中的pom.xml

    将项目发布到本地仓库 mvn install  对于web项目没有什么作用

    将本地仓库的jar包发布到远程仓库中  mvn deploy

    生成项目的站点文档(静态页面) mvn site

Maven项目开发的目录结构

    

对于依赖的作用范围(scope)

    compile(默认)   编译时需要  测试时需要  运行时需要 打包时需要

    provided    编译时需要  测试时也需要  运行时不需要  打包时不需要

    runtime    编译时不需要  测试时需要 运行时需要

    test    编译时不需要  测试时需要  运行时不需要

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/xsd/maven-4.0.0.xsd">
		
	<modelVersion>4.0.0</modelVersion>
	<!-- 项目的坐标GAV -->
	<groupId>cn.a2490</groupId>
	<artifactId>maven-ssh</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<!-- 打包方式jar war pom -->
	<packaging>war</packaging>
	<!-- 可以省略 -->
	<name></name> 
	<!-- 可以省略 -->
	<description></description>
		
	<properties>
	    <!-- 自定义标签
	    	标签的引用方式为  ${spring.version}
	    	例如<version>${spring.version}</version>
	    -->
	    <spring.version>4.2.4.RELEASE</spring.version>
    </properties>
		
	<!-- 插件 -->
	<build>
		<plugins>
			<plugin>
				<!-- 插件的坐标 -->
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<!-- 插件的配置 -->
				<configuration></configuration>
			</plugin>
		</plugins>
	</build>
	<!-- 依赖 -->
	<dependencies>
		<dependency>
			<!-- 依赖的坐标 -->
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
			<!-- 依赖的作用范围 -->
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

需要注意的是  maven3.3.x所需要的jdk都是需要1.7以上的版本的  故需要修改编译版本

<build>
  	<plugins>
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-compiler-plugin</artifactId>
  			<version>3.5.1</version>
  			<configuration>
  				<source>1.7</source>
  				<target>1.7</target>
  				<encoding>UTF-8</encoding>
  			</configuration>
  		</plugin>
  	</plugins>
</build>

添加依赖(网址搜索)

    http://mvnrepository.com/

    http://search.maven.org/

依赖版本冲突

    调节原则

        路径近者优先原则    对有冲突的包进行依赖添加  指定其版本

        第一声明者优先原则    将想用的版本的依赖放在前面即可

    排除原则

<dependency>
	<groupId>org.apache.struts</groupId>
	<artifactId>struts2-spring-plugin</artifactId>
	<version>2.3.24</version>
	<exclusions>
		<exclusion>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
		</exclusion>
	</exclusions>
</dependency>

    版本锁定

<dependencyManagement>
	<dependencies>
		<dependency>
		  <groupId>org.springframework</groupId>
		  <artifactId>spring-beans</artifactId>
		  <version>4.2.4.RELEASE</version>
		</dependency>
	</dependencies>
</dependencyManagement>

 

远程仓库配置  使用nexus  下载解压nexus

    安装nexus.bat install

    

    启动nexus.bat start

        启动失败的解决方法    将bin/jsw/conf/wrapper.conf文件中的第15行修改为java.exe的所在

            例如    wrapper.java.command=C:\Program Files (x86)\Java\jdk1.8.0_73\bin\java.exe  以自己的路径为准

    访问的路径默认为 http://localhost:8081/nexus

    登录nexus

        用户名/密码 为  admin/admin123

    关闭nexus.bat stop

添加到pom.xml中  配置私服地址

<distributionManagement>
	<repository>
		<id>releases</id>
		<url>http://localhost:8081/nexus/content/repositories/releases/</url>
	</repository> 
    <snapshotRepository>
		<id>snapshots</id>
		<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
	</snapshotRepository> 
</distributionManagement>

maven安装地址\conf\setting.xml中配置登录私服的账号密码 

<server>
	<id>releases</id>
	<username>admin</username>
	<password>admin123</password>
</server>
<server>
	<id>snapshots</id>
	<username>admin</username>
	<password>admin123</password>
</server>

    配置下载的地址

<profile>   
	<id>dev</id>   
	<repositories>   
		<repository>  
			<!--仓库id  id不能重复-->
			<id>nexus</id>   
			<!--仓库地址-->
			<url>http://localhost:8081/nexus/content/groups/public/</url>   
			<!--是否下载releases构件-->
			<releases>   
				<enabled>true</enabled>   
			</releases>   
			<!--是否下载snapshots构件-->
				<snapshots>   
				<enabled>true</enabled>   
			</snapshots>   
		</repository>   
	</repositories>  
	<pluginRepositories>  
		<!-- 插件仓库 -->
		<pluginRepository>  
			<!-- 插件仓库的id不能重复 -->
			<id>public</id>  
			<name>Public Repositories</name>  
			<url>http://localhost:8081/nexus/content/groups/public/</url>  
		</pluginRepository>  
	</pluginRepositories>  
</profile>  

    激活下载地址

<activeProfiles>
	<activeProfile>dev</activeProfile>
</activeProfiles>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值