昨天写下了这篇博客(http://www.cnblogs.com/hzmark/p/131003Release.html),今天有时间,就这里一下第一篇内容。

换工作公司开发平台:

WINDOWS+Velocity+JAVA+Spring+Ibatis+Oracle

还有就是基于架构师的那套框架,打包发布用的ANT。

我们开发都在这些基础之上(基础架构已经搭好,打包发布脚本都很完善,自己只需做好自己模块的业务编码),遵循一套规范,开发起来比较方便快速。

曾经想自己把公司这套东西都搞明白了,所以学过ANT,读过公司那套标准且复杂的发布脚本。

换了工作后公司没有使用ANT了,项目统一使用MAVEN管理,所以就接触到了MAVEN并且之后的项目都是用MAVEN。

用了一段时间了,就按照常用的一些功能在使用,所以想整理一下。

MAVEN主页:http://maven.apache.org/index.html(个人习惯,学什么都习惯到官方主页去读读看)

MAVEN是一个软件项目管理工具。

安装:

下载安装包,如apache-maven-3.1.0-bin.tar.gz(因为是MAC系统),解压到希望安装的目录,如/usr/local/apache-maven

添加环境变量

M2_HOME=/usr/local/apache-maven/apache-maven-3.1.0

export M2=$M2_HOME/bin

使用mvn -version查看安装是否成功

其他系统的安装官网也有说明:http://maven.apache.org/download.cgi

5分钟学会使用MAVEN:

创建一个maven项目:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

这个命令将在当前目录创建一个maven项目,项目名就是my-app,com.mycompany.app是报名。

项目结构如下:

my-app
|-- pom.xml
`-- src
       |-- main
       |   `-- java
       |        `-- com
       |             `-- mycompany
       |                  `-- app
       |                       `-- App.java
       `-- test
           `-- java
                `-- com
                     `-- mycompany
                          `-- app
                               `-- AppTest.java
src/main/java里面是源码,src/test/java里面是测试代码。pom.xml是maven和核心文件。

下面是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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

里面包含了打包一个项目所需的所有信息。从上面可以看出依赖的包,打包的方式,项目名等等。上面的这个项目名称是my-app,groupId是com.mycompany.app,打包方式是jar。

下面打包这个项目。

打包一个maven项目非常的简单,只需要在项目的目录下执行mvn package命令。

打包完成的信息

打包后会在项目目录下生成target目录,结构如下

执行打包成的jar的结果

Java开发离不开eclipse,如何将一个项目作为eclipse项目导入呢?

只需要在项目目录下执行mvn eclipse:eclipse,之后就可以将项目导入到eclipse中了。

已经可以使用maven建立项目,并可以导入到eclipse了,但是每次建项目这样搞也觉着麻烦,这时我们就需要插件了(Eclipse插件是如此的好用)。

官网对于Eclipse插件的介绍:http://maven.apache.org/eclipse-plugin.html http://eclipse.org/m2e/

安装方法就不讲了,给个在线安装的地址:http://m2eclipse.sonatype.org/sites/m2e

安装完成后就可以直接在eclipse中进行maven相关的操作了,非常的方便。

eclipse中使用maven建立web项目可以参考http://www.blogjava.net/kevonz/archive/2012/07/08/382542.html

暂时就这么多,先这样。

(其实很多东西都可以在官网上找到,只是需要读英文而已)

MAVEN整理(乘国庆还有时间,停下来整理一下)的更多相关文章

  1. PostgreSQL的时间函数使用整理

    PG的时间函数使用整理如下 1.获取系统时间函数 select now(); --2012-05-12 18:51:59.562+08 select current_timestamp; --2012 ...

  2. 自己花了2天时间,重新整理了个全面的vue2的模板

    自己花了2天时间,重新整理了个全面的vue2的模板,基本vue中需要的部分都整理封装好了,希望大家喜欢^ ^.欢迎大家star或者fork呀~,https://github.com/qianxiaon ...

  3. 整理总结 python 中时间日期类数据处理与类型转换(含 pandas)

    我自学 python 编程并付诸实战,迄今三个月. pandas可能是我最高频使用的库,基于它的易学.实用,我也非常建议朋友们去尝试它.--尤其当你本身不是程序员,但多少跟表格或数据打点交道时,pan ...

  4. [转帖]PG的时间函数使用整理如下

    PG的时间函数使用整理如下 https://blog.csdn.net/dahuzix/article/details/48576945 1.获取系统时间函数 -- :: -- :: -- :: 2. ...

  5. datetime中时间的formatter整理

    datetime是个很常用的模块,这个连python初学者都应该知道,datetime中有两个函数:strftime和strptime,里面都有个参数format,可以将输出的时间格式化.例如 pri ...

  6. ffmpeg未整理好,有时间整理下

    v  容器(Container) v  容器就是一种文件(封装)格式,比如flv.mkv.ts.mp4.rmvb.avi等.包含下面5种流以及文件头信息. v  流(Stream) v  是一种视频数 ...

  7. js获得时间new Date()整理

    Date对象取得年份有两种方法:getFullYear()和getYear() 经测试var dt = new Date(); //alert(new Date())弹出:Thu Aug 24 201 ...

  8. 【时间工具】整理下java时间换算专题

    首先总结了一下日期转换基础,最常用的两个工具类Date与calender,转换方法如下: package com.zzt.spider; import java.text.SimpleDateForm ...

  9. Maven基础&&Spring框架阶段常用工具类整理

    常用工具类 1.密码加密工具类: package com.itheima.utils; import java.security.MessageDigest; import sun.misc.BASE ...

随机推荐

  1. C#组态控件Iocomp应用案例

    Iocomp组件需要在vs2010环境下使用,目前用到的是4.04版本.在两个项目中用到了它,一个是锅炉监控系统,另一个是绝缘靴检测系统. 锅炉监测系统 这个节目基本都是使用Iocomp控件完成. 出 ...

  2. Docker源码编译

    官方建议docker源码编译在docker容器内进行,因为官方提供的容器内已经继承了编译需要的环境,如果非要自己搭建编译环境也不是不可以,就是稍微有些繁琐.以下以1.8.2版本为例. 1.pull d ...

  3. mysql启动报错:Starting MySQL...The server quit without updating PID file

    在mysql的data目录下误删除了mysql-bin.000001,mysql-bin.000002等文件,但是没有删除mysql-bin.index文件,此时启动mysql就会报错: Starti ...

  4. weblogic 12c下jxls导出excel报错Could not initialize class org.apache.poi.xssf.usermodel.XSSFVMLDrawing

    周一,开发反馈weblogic 12c下jxls导出excel报错,公司环境和UAT环境均报错,看日志如下: 2016-06-08 09:16:55,825 ERROR org.jxls.util.T ...

  5. 拖拽改变div的大小

    拖拽改变div的大小 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&qu ...

  6. CSS Hack(转)

    做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...

  7. 2015年第5本(英文第4本):Death on the Nile尼罗河上的惨案

    书名:Death on the Nile 作者: Agatha Christie 单词数:7.9万(读完后发现网上还有一个版本,总共2.7万单词,孩子都能读懂,看来是简写版) 词汇量:6700 首万词 ...

  8. Android用路径api在内部存储读写文件

    复制并修改原有项目 复制之前创建的项目CC+CV操作 需要改动的地方: * 项目名字 * 应用包名 * R文件重新导包 接着修改件/AndroidManifest.xml中的包名:package=&q ...

  9. C语言指针的长度和类型

    本文地址:http://www.cnblogs.com/archimedes/p/point-length-type.html,转载请注明源地址. 如果考虑应用程序的兼容性和可移植性,指针的长度就是一 ...

  10. 【读书笔记】iOS-NSData

    Cocoa为我们提供了NSData类,该类包装了大量字节,你可以获得数据的长度和指向字节起始位置的指针,因为NSData是一个对象,适用于常规的内存管理行为.因此,如果将数据块传递给一个函数或方法,可 ...