创建私服nexus
1, 下载并解压zip,http://nexus.sonatype.org/downloads
2, 启动:D:\nexus-2.7.1-01-bundle\nexus-2.7.1-01\bin\jsw\windows-x86-64
3, 访问http://localhost:8081/nexus, 登录<admin,admin123>,
可以管理nexus内置的仓库(够用),也可以创建自己的
maven在setting.xml里配置私服后,会自动下载到私服,再到本地仓库
D:\nexus-2.7.1-01-bundle\sonatype-work\nexus\storage\central\org\springframework
D:\repo\org\springframework
总结:
1, plugin扩展机制,好!
几乎每个mvn命令都对应一个plugin,在D:\repo\org\apache\maven\plugins目录下。
比如:maven-compiler-plugin, maven-jar-plugin, maven-surefire-plugin...
2, 项目(对应一个jar)下载或者安装到Maven本地仓库后,其他项目才能使用!!!!!!!!!!!!!!!
Maven生命周期,从大量项目和构建工具中学习反思,对构建过程的抽象:
项目的各个阶段phase:清理,初始化,编译(maven-compiler-plugin),测试(maven-surefire-plugin),打包,集成测试,验证,部署,站点生成。
抽象,意味着不做实际工作(交给插件完成比如),类似设计模式中的模板方法
validate验证项目是否正确,以及所有为了完整构建必要的信息是否可用
generate-sources生成所有需要包含在编译过程中的源代码
process-sources处理源代码,比如过滤一些值
generate-resources生成所有需要包含在打包过程中的资源文件
process-resources复制并处理资源文件至目标目录,准备打包
compile编译项目的源代码
process-classes后处理编译生成的文件,例如对Java类进行字节码增强(bytecode enhancement)
generate-test-sources生成所有包含在测试编译过程中的测试源码
process-test-sources处理测试源码,比如过滤一些值
generate-test-resources生成测试需要的资源文件
process-test-resources复制并处理测试资源文件至测试目标目录
test-compile编译测试源码至测试目标目录
test使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布
prepare-package在真正的打包之前,执行一些准备打包必要的操作。这通常会产生一个包的展开的处理过的版本(将会在Maven 2.1+中实现)
package将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR
pre-integration-test执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境
integration-test如果有必要的话,处理包并发布至集成测试可以运行的环境
post-integration-test执行一些在集成测试运行之后需要的动作。如清理集成测试环境。
verify执行所有检查,验证包是有效的,符合质量规范
install安装包至本地仓库,以备本地的其它项目作为依赖使用
deploy复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)
项目聚合: 一次命令构建两个项目
<project...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-aggregator</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>//聚合必须为pom,否则无法构建
<name>Account Aggregator</name>
<modules>
<module>account-email</module>
<module>account-persist</module>
</modules>
</project>
项目继承:继承父pom的配置
可继承的元素:groupId,version...dependencies,build. 不可继承的元素:artifactId
<parent>
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../account-parent/pom.xml</relativePath>
</parent>
<artifactId>account-email</artifactId>
<name>Account Email</name>
注意:可能给未来的子项目引入不必要的依赖。故,一般最好只继承version,scope
反应堆(多个模块组成的一个构建过程)构建顺序
Reactor Build Order:
Account Parent
Account Email
Account Persist
Account Aggregator
剪裁反应堆: mvn install -pl account-email, account-persist //只构建这两个项目
超级POM(类似Object类)
%MAVEN_HOME%/lib/maven-model-builder-x.x.x.jar\org\apache\maven\model/pom-4.0.0.xml
预定义了:仓库<repositories>,插件仓库<pluginRepositories>,<build>,<profiles>
com.google.code.kaptcha:kaptcha:jar:jdk15:2.3 这个不在中央仓库中,需要自己添加代理仓库-->仓库组。
指定某个测试类,需要进入当前项目下,不可以在父目录中。
mvn test -Dtest=RandomGeneratorTest
//测试覆盖率报告,在targer/site/cobertura/index.html
D:\workspace\account-parent\account-captcha>mvn cobertura:cobertura
hudson
持续集成CI(Continuous Integration)
稍等hudson启动
C:\Users\river\Downloads>java -jar hudson-3.1.2.war
纯java打war包
1、D:\workspace\wnjWeb>jar cvf wnjWeb.war *.*
2、将war文件拷贝到tomcat\webapps\下,(将必要的jar文件拷贝到tomcat\lib??)
3、D:\study\apache-tomcat-7.0.52\bin>startup.bat
4、打开浏览器访问http://localhost:8080/wnjWeb/hello
相关推荐
Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包以及部署等...
maven配置文件pom.xml
"Maven 项目 pom.xml 中 parent 标签的使用" Maven 项目 pom.xml 文件中的 parent 标签是 Maven 项目管理依赖的核心组件之一。parent 标签的使用可以简化项目间的依赖管理,使得项目结构更加清晰、易于维护。 ...
二、Myeclipse关联的maven本地仓库配置文件settings.xml (1)可自定义文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings_Myeclipse1.xml 三、3个可单独使用的,maven项目...
springmvc spring mybatis maven 项目管理pom文件
"maven jar包直接根据pom下载"这一主题涉及的是如何利用Maven的特性,通过修改POM(Project Object Model)文件来自动下载项目所需的jar包。 POM.xml是Maven项目的配置文件,它定义了项目的结构、依赖、插件和其他...
在Eclipse中安装Maven插件,可以方便开发者在IDE内进行Maven项目的操作,解决无法用Maven Pom editor打开pom.xml文件的问题。以下是对这个主题的详细说明: 1. **Maven Pom Editor**: Maven的pom.xml文件是项目...
pom.xml配置文件,包含数据库,仓库地址配置等等
这是maven管理的动态web项目的pom.xml配置文件,里面有ssm框架需要用到的jar包依赖
maven项目的pom.xm,非常齐全,所需的各种jar包都有,的观点观点和额u好肚饿好肚饿的呢就好的好肚饿的好的u好肚饿
史上最全的Maven的Pom.xml文件详解 Maven是Java领域最流行的构建工具之一,其核心配置文件是Pom.xml。在Pom.xml文件中,我们可以定义项目的基本信息、依赖关系、构建过程、测试环境等。下面,我们将详细解析Pom.xml...
这个pom文件中用一些SSM开发中常用的依赖jar,可以供初学者采纳。
Maven的pom.xml配置文件详细配置说明 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件 全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件,全面讲解Pom文件
在Java开发领域,Maven是一个不可或缺的项目管理工具,它通过使用一个名为pom.xml的配置文件来管理和构建项目。pom.xml文件是Maven项目的灵魂,它包含了项目的元数据,如项目信息、依赖关系、构建配置等。下面我们将...
maven的pom.xml的最详细配置,内含pom的依赖、jdk配置等
maven pom.xml详解
Maven POM配置详解 Maven 项目的核心是 pom.xml,POM(project object model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,如何声明依赖等等。下面是 pom 文件中各个标签的用法和含义: 1. `...
maven项目中pom.xml配置文件,包含常用的mybatis,log4j,jdk,mysql连接等依赖
maven搭建ssm框架标准文档<!-- 依赖管理 版本号 --> <!-- 设置统一依赖管理、不强行依赖 -->