MAVEN整理(乘国庆还有时间,停下来整理一下)
昨天写下了这篇博客(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整理(乘国庆还有时间,停下来整理一下)的更多相关文章
- PostgreSQL的时间函数使用整理
PG的时间函数使用整理如下 1.获取系统时间函数 select now(); --2012-05-12 18:51:59.562+08 select current_timestamp; --2012 ...
- 自己花了2天时间,重新整理了个全面的vue2的模板
自己花了2天时间,重新整理了个全面的vue2的模板,基本vue中需要的部分都整理封装好了,希望大家喜欢^ ^.欢迎大家star或者fork呀~,https://github.com/qianxiaon ...
- 整理总结 python 中时间日期类数据处理与类型转换(含 pandas)
我自学 python 编程并付诸实战,迄今三个月. pandas可能是我最高频使用的库,基于它的易学.实用,我也非常建议朋友们去尝试它.--尤其当你本身不是程序员,但多少跟表格或数据打点交道时,pan ...
- [转帖]PG的时间函数使用整理如下
PG的时间函数使用整理如下 https://blog.csdn.net/dahuzix/article/details/48576945 1.获取系统时间函数 -- :: -- :: -- :: 2. ...
- datetime中时间的formatter整理
datetime是个很常用的模块,这个连python初学者都应该知道,datetime中有两个函数:strftime和strptime,里面都有个参数format,可以将输出的时间格式化.例如 pri ...
- ffmpeg未整理好,有时间整理下
v 容器(Container) v 容器就是一种文件(封装)格式,比如flv.mkv.ts.mp4.rmvb.avi等.包含下面5种流以及文件头信息. v 流(Stream) v 是一种视频数 ...
- js获得时间new Date()整理
Date对象取得年份有两种方法:getFullYear()和getYear() 经测试var dt = new Date(); //alert(new Date())弹出:Thu Aug 24 201 ...
- 【时间工具】整理下java时间换算专题
首先总结了一下日期转换基础,最常用的两个工具类Date与calender,转换方法如下: package com.zzt.spider; import java.text.SimpleDateForm ...
- Maven基础&&Spring框架阶段常用工具类整理
常用工具类 1.密码加密工具类: package com.itheima.utils; import java.security.MessageDigest; import sun.misc.BASE ...
随机推荐
- C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
概述 转自 http://www.cnblogs.com/luomingui/archive/2013/09/19/3329763.html 最近几天一直在关注WinFrom方面的文章 有想着提炼一下 ...
- (三)XmlHelper
[转]http://blog.csdn.net/u011866450/article/details/50373222 using System.Xml; using System.Data; nam ...
- PHP框架Swoole的一个定时器Timer特性
在各种业务型系统中,往往需要服务器在后台扫描相关数据,触发相应的统计.通知等操作. 比如对于一个项目管理系统,需要每天的特定时间内,统计每项任务的执行.到期情况.整个项目的进度等等,根据统计情况,做相 ...
- 机器学习实战 - 读书笔记(06) – SVM支持向量机
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第6章:SVM 支持向量机. 支持向量机不是很好被理解,主要是因为里面涉及到了许多数学知 ...
- pygame for python3.3
pygame的更新慢的令人发指,我最初使用的python是3.4版本的,无何奈何pygame不支持3.4,甚至官网只有3.2版本的.我于是将各种版本试了一遍,出现各种问题,同时我比较钟爱3.x版本,最 ...
- osx的终端软件iterm2 之 修改外观 和 常用快捷键小结
1.修改外观:透明,自己配色,最好还有个透明的小背景,比如这样: 那么你就要这样修改: 2.快捷键小结 (1)⌘ + d 横着分屏 / ⌘ + shift + d 竖着分屏 : 适合多操作的时候 ( ...
- CRM行编辑控件
原创,转载请说明出处 王红福 http://www.cnblogs.com/hellohongfu/p/4792452.html CRM 本身的表格可以根据定义显示列信息,但是出于性能考虑不能详细的展 ...
- Engine中如何实现先居中显示要素再闪烁
[解决办法]:需要在要素居中显示之后.闪烁之前执行IScreenDisplay.UpdateWindow强制全刷,如: //居中显示要素 IActiveView actView = axMapCont ...
- 在 SharePoint 2013 中配置 Office Web Apps
原文发布于 2012 年 7 月 23 日(星期一) 如您所知或您即将知道,SharePoint 2013 中的 Office Web Apps 不再是 SharePoint 场中的服务应用程序.相反 ...
- windows 80端口被占用的解决方法
参考文献: 文献1: http://wenku.baidu.com/view/af4681bcfd0a79563c1e7289.html 文献2: http://www.2cto.com/os/201 ...