1: 搭建步骤
搭建的详细步骤 参考
http://longzhun.iteye.com/blog/1745394
2. 用管理员登录,新增自己的账号并分配权限。
配置依赖的 settings.xml 文件(参考附件 settings.xml)
3. 搭建 根 Maven 服务工程(com-root)
com-root 工程的 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>
<groupId>com.sunny</groupId>
<artifactId>sunny-root</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<modules>
<module>sunny-manager</module>
</modules>
</project>
<properties>
<servlet.version>2.5</servlet.version>
<jsp.version>2.1</jsp.version>
</properties>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<exclusions>
<exclusion>
<artifactId>jms</artifactId>
<groupId>javax.jms</groupId>
</exclusion>
<exclusion>
<artifactId>mail</artifactId>
<groupId>javax.mail</groupId>
</exclusion>
<exclusion>
<artifactId>jmxri</artifactId>
<groupId>com.sun.jmx</groupId>
</exclusion>
<exclusion>
<artifactId>jmxtools</artifactId>
<groupId>com.sun.jdmk</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.12.1</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>${jsp.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release</name>
<url>http://192.168.1.251:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Release</name>
<url>http://192.168.1.251:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
</project>
4. pom文件主要元素说明:
dependencyManagement
Maven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM 中看到dependencyManagement 元素。使用pom.xml 中的dependencyManagement 元素能让
所有在子项目中引用一个依赖而不用显式的列出版本号。Maven 会沿着父子层次向上走,直到找到一个拥有dependencyManagement 元素的项目,然后它就会使用在这个dependencyManagement 元素中指定的版本号。
这样做的好处就是:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改 ;另外如果某个子项目需要另外的一个版本,只需要声明version就可。
dependencies
相对于dependencyManagement,所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。
distributionManagement
mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:
xml代码
<project>
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release</name>
<url>http://192.168.1.251:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Release</name>
<url>http://192.168.1.251:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
</project>
Maven区别对待release版本的构件和snapshot版本的构件,snapshot为开发过程中的版本,实时,但不稳定,release版本则比较稳定。Maven会根据你项目的版本来判断将构件分发到哪个仓库。
分享到:
相关推荐
【MAVEN使用最佳实践】 Maven 是一个强大的项目管理和构建工具,它简化了Java应用程序的构建过程,通过一套约定优于配置的原则,使得项目构建、依赖管理和文档生成等工作变得标准化。以下是一些在使用Maven时可以...
何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo…) M2eclipse(Todo…)
maven实践
本文档内容讲述maven的原理及其最佳的实践方式
Apache Maven是一个强大的项目管理工具,它提供了丰富的插件系统来扩展构建过程。exec-maven-plugin是Maven生态系统中的一个插件,它允许用户在Maven构建过程中执行外部命令或脚本。这使得Maven项目可以集成更多的...
Maven原理与实践(高级)
### Maven 3.0 的最佳实践 - **遵循约定优于配置的原则**:使用Maven的标准目录结构,减少POM的配置。 - **合理管理依赖**:避免硬编码版本号,使用`<dependencyManagement>`元素统一管理版本。 - **使用父POM**:...
本文将深入探讨如何利用Maven进行Web应用的开发实践。 首先,理解Maven的核心概念是至关重要的。Maven基于项目对象模型(Project Object Model, POM),它是一个XML文件,包含了项目的配置信息,如依赖、构建目标和...
【Maven原理与实践】 Maven是一个基于Java的项目管理工具,它的主要作用在于简化软件项目的构建、管理和部署过程。Maven的核心理念是项目对象模型(Project Object Model,POM),一个XML格式的配置文件,它包含了...
在`pom.xml`中,配置`exec-maven-plugin`插件来指定主类和相关参数。 4. **打包应用**:使用`mvnw package`命令打包你的应用,这将生成一个可执行的JAR或WAR文件。 5. **安装服务**:运行创建的服务脚本,将打包后...
**Maven版的JPA最佳实践** 在Java开发中,Maven作为项目构建工具,而JPA(Java Persistence API)则是用于对象关系映射(ORM)的标准,它们结合使用能够帮助开发者更高效地管理和操作数据库。本文将深入探讨在Maven...
Storm 编程实践(安装 Maven-使用 Maven 编译运行代码-mvn 打包) 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验环境的配置、实验内容...
记住,良好的Maven实践可以帮助你更好地组织项目结构,提高代码的可维护性和复用性。在实际开发中,不断学习和掌握Maven的高级特性,如 profiles、lifecycle、plugins 等,将使你的开发工作更加高效。
**Maven权威指南** 《Maven权威指南》是Java开发者...通过阅读《Maven权威指南》,开发者不仅能掌握Maven的基本使用,还能深入理解其背后的原理和最佳实践,从而在实际项目中发挥出Maven的最大价值,提升开发效率。
### Maven的最佳实践 - 保持POM简洁清晰,避免过度配置。 - 使用统一的命名规则和版本控制策略。 - 利用Maven的 profiles 功能为不同的环境(如开发、测试、生产)创建不同的配置。 - 使用Maven的依赖管理,避免...
10. **最佳实践**:Maven推动了Java社区的一套构建和项目组织的最佳实践,如约定优于配置的原则,使得新项目可以快速启动,遵循统一的标准。 总的来说,Apache Maven 3.5.0是Java开发中不可或缺的工具,它极大地...
在软件开发过程中,Maven作为一个强大的项目管理和构建工具,被广泛...对于初学者而言,这是一个理解Maven工作原理和实践项目组织的良好起点。通过深入研究这个demo,开发者可以更好地掌握Maven在实际开发中的运用。