`
nelson_tu
  • 浏览: 37603 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java开发环境构建之创建Maven工程

阅读更多

2、创建 Maven 工程

1 Maven 的仓库配置之 settings.xml (对当前用户的所有工程有效)

创建指向nexus 私服 public 路径的镜像

    <mirrors>

        <mirror>

            <id>nexus</id>

            <mirrorOf>*</mirrorOf>

            <url>http://10.1.8.26:8081/nexus/content/groups/public</url>

        </mirror>

    </mirrors>

创建 profile ,使用镜像仓库( id要保持一致),使能 snapshots 版本

    <profiles>

        <profile>

             <id>nexus</id>

            <repositories>

                <repository>

                     ......

                    <snapshots>

                         <enabled>true</enabled>

                    </snapshots>

                </repository>

            </repositories>

            <pluginRepositories>

                <pluginRepository>

                     ......

                    <snapshots>

                        <enabled>true</enabled>

                    </snapshots>

                </pluginRepository>

            </pluginRepositories>

        </profile>

</profiles>

激活 profile :注意名字保持一致

    <activeProfiles>

         <activeProfile>nexus</activeProfile>

    </activeProfiles>

设置仓库distribute 的用户名和密码; Maven 工程中 deploy 设置部分的 id 要和这里保持一致,才能使用这里的用户名和密码(见后述)

<servers>

<server>

<id>releases</id>

<username>deployment</username> 

<password>deploy</password> 

</server>

<server>

<id>snapshots</id>

<username>deployment</username> 

<password>deploy</password> 

</server>

</servers>

 

2 Maven 的仓库配置之 pom.xml (对当前工程有效,会覆盖 settings.xml 相同设置)

远程仓库设置:

<repositories>

    <repository>

        <id>central</id>

        <name>central</name>

        <url>http://10.1.8.26:8081/nexus/content/groups/public</url>

        <snapshots>

            <enabled>true</enabled>

        <updatePolicy>interval:5</updatePolicy>

        </snapshots>

    </repository>

</repositories>

这里设置了 snapshots 版本的更新策略为每 5分钟检查一次。这个设置会覆盖 settings.xml 中对 snapshots 版本的设置。

远程仓库distribute 设置:

<distributionManagement>

<snapshotRepository>

<id>snapshots</id>

<name>snapshots</name>

<uniqueVersion>true</uniqueVersion>

<url>http://10.1.8.26:8081/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

<repository>

<id>releases</id>

<name>releases</name>

<url>http://10.1.8.26:8081/nexus/content/repositories/releases/</url>

</repository>

</distributionManagement>

这里id 的名字和 settings.xml <servers> 部分的名字保持一致

 

3 m2eclipse 创建 Maven 工程

File->New->Maven->Maven Project

选择maven-achetype-quickstart

指定groupId (通常是 com. 公司 . 项目), artifactId (通常是功能模块名,这会作为工程名)和版本号等等

点击finish 创建 Maven 工程

 

4 pom.xml 文件设置:

远程仓库设置(前述)

远程仓库distribute 设置(前述)

Maven build选项之设定编译的 JDK 版本和编码:

   <build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>2.3.2</version>

<configuration>

<source>1.7</source>

<target>1.7</target>

<encoding>${project.build.sourceEncoding}</encoding>

</configuration>

</plugin>

</plugins>

</build>

如果需要同时生成源文件,可以配置:

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-source-plugin</artifactId>

<version>2.1.2</version>

<executions>

<execution>

<phase>package</phase>

<goals>

<goal>jar</goal>

</goals>

</execution>

</executions>

</plugin>

要引入需要的依赖库,添 <dependency> ,如:

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>${project.spring.version}</version>

</dependency>

${project.spring.version} <properties> 部分定义,便于 spring 版本的统一升级修改

如果 依赖库版本有冲突,可以使用<exclusions> 排除版本,如:

<exclusions>

<exclusion>

<artifactId>hadoop-core</artifactId>

<groupId>org.apache.hadoop</groupId>

</exclusion>

</exclusions>

或者增加<optional> 来终止依赖传递,如:

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-core</artifactId>

            <version>${project.spring.version}</version>

             <optional>true</optional>

        </dependency>

 

5 )部署工程到仓库

部署到本地仓库(可以被当前用户的其他工程引用):右击工程名,Run as->Maven install ,可以从 console 窗口看到 JAR 文件被部署到本地仓库的相应位置

部署到Nexus 私服(可以被其他用户的其他工程引用):

右击工程名,Run as->Maven build ...

Goals处输入 clean deploy

如果不想执行测试阶段,勾选Skip T ests

点击Run 执行

注意deploy 时的用户名和密码,就是在 settings 中指定的

至于是deploy SNAPSHOT 版本还是 RELEASE 版本,是根据 pom.xml 中的版本是否带 -SNAPSHOT 决定

其实,现在部署构建都是由Hudson 来完成的(后述)

 

0
1
分享到:
评论

相关推荐

    用Maven构建Java Web开发环境(Jetty容器)

    用Maven构建Java Web开发环境(Jetty容器)

    尚硅谷Java视频教程_Maven视频

    创建Maven版Java工程 · 21.在Eclipse中执行Maven命令 · 22.在Eclipse中创建Maven版的Web工程 · 23.通过servlet-api进一步理解provided依赖范围 · 24.通过jsp-api体验jar包之间的冲突 · 25.导入Maven工程 ...

    Java项目:酒店管理系统(java+SSM+Maven+LayUI+mysql)

    开发环境 1.编程语言:Java 2.开发工具:IDEA/Eclipse、Navicat 3.项目构建:Maven 3.5.2 4.服务器:Tomcat 8.0及以上 5.数据库:MySQL5.7 使用说明 1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,...

    软件开发+Maven技术+Maven安装与配置+基础课程

    通过本课程的学习,学员将能够熟练运用Maven进行项目开发,掌握Maven在不同开发环境和场景下的应用技巧,为成为一名高效的Java开发者打下坚实的基础。 无论你是希望提升现有技能的在职开发者,还是正在寻求进阶学习...

    Maven 3.6.1安装包,在 Windows 系统上使用该资源来快速搭建和管理 Maven 环境

    Maven 是一个开源的项目管理和构建工具,可用于管理 Java 项目的依赖、编译源代码、运行测试和构建可执行文件等任务。 适用人群: 该资源适用于开发人员、软件工程师和项目经理等与 Java 开发相关的人群。无论是...

    编程开发+Maven技术+Maven安装与配置+技术课程

    课程内容从Maven的基本概念讲起,详细介绍了Maven的安装过程、环境配置、以及如何通过Maven进行项目构建和管理。我们不仅涵盖了Windows、Linux和macOS等主流操作系统下的Maven安装步骤,还提供了丰富的实践指导,...

    maven3.5.3

    Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。...由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

    maven的简单介绍.html

    在实际的生产开发环境下对Maven的需求主要有以下四点 ①一个项目就是一个工程,如果这个项目非常庞大,就不适合继续用package来划分模块,最好是每一个模块对应一个工程,利于分工合作 借助于Maven就可以将一个...

    纯净的SSM集成环境Maven构建的SpringMVC+MyBatis

    今天闲来无事,搭建了个纯净的SSM框架,才用Maven构建的Spring+SpringMVC+Mybatis集成开发环境,数据源采用Druid。仅仅包含一个基本表User的dao service 及Controller层。

    maven常用依赖.txt

    Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven 是一个项目管理工具,...

    maven的安装和配置

    Apache Maven是一个很流行的软件项目管理和理解工具,它能够被用来构建和管理任何基于java的项目,主要有以下几个目标: • 简化构建过程 • 提供统一的构建系统 • 提供高质量的项目信息 • 鼓励更好的开发实践 ...

    版本管理及项目构建和maven的介绍使用

    1.svn版本管理。 2.项目构建的方式,主要介绍Ant和maven,...包含Ant的简介及常用任务,maven的简介、环境配置、maven项目开发,maven依赖、maven仓库等概念以及maven生命周期和maven插件、聚合和继承等。 3.推荐的书籍

    Maven2 的新特性.7z

    2002年开始使用Java,在平时的项目开发中经常采用OpenSource的工具,如Ant、Maven、Hibernate、Struts等,目前正在研究信息集成方面的规范和技术。可以通过jianhgreat@hotmail.com与他取得联系,或访问个人blog:...

    apache-maven-3.3.9.zip

    由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。 Maven提供了开发人员的方式来管理: Builds Documentation Reporting Dependencies SCMs...

    尚硅谷_Maven.doc

    Maven 是目前流行的自动化构建工具,对于生产环境下多框架、多模块整合开发有重要作用。Maven 是一款在大型项目开发过程中不可或缺的重要工具。本课程将帮助你了解 Maven 的作用,常用命令,如何配置依赖,以及依赖...

    maven入门操作

    Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。...由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

    基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台

    使之提供更加高效和友好的用户接口,越来越多的企业和开发人员选择使用富客户端技术构建商业应用,本课程主要是介绍了解最流行的富客户端框架jquery - easyUI API及熟悉掌握其高级特性,并结合SSH2框架与Maven实现...

    windows环境下java开发工具maven的安装教程图解

    Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期...这篇文章主要介绍了windows环境下java开发工具maven的安装,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics