maven实验

ps:先水一把,快哭了2个月没更新了。最近在公司实习,看了webx框架,其中有一个maven工具(比较类似于ant,还是原来的项目分支,比ant强大一些),然后写了一个关于这个工具的大体流程。


什么是maven?

http://baike.baidu.com/view/336103.htm?fr=aladdin

maven的生命周期?

参考http://www.cnblogs.com/haippy/archive/2012/07/04/2576453.html



Default Lifecycle 生命周期阶段 描述
validate 验证 确保当前配置和 POM 的内容是有效的。这包含对 pom.xml 文件树的验证。
initialize 初始化 在执行构建生命周期的主任务之前可以进行初始化。
generate-sources 生成源码 代码生成器可以开始生成在以后阶段中处理或编译的源代码。
process-sources 处理源码 提供解析、修改和转换源码。常规源码和生成的源码都可以在这里处理。
generate-resources 生成资源 可以生成非源码资源。通常包括元数据文件和配置文件。
process-resources 处理资源 处理非源码资源。修改、转换和重定位资源都能在这阶段发生。
compile 编译 编译源码。编译过的类被放到目标目录树中。
process-classes 处理类 处理类文件转换和增强步骤。字节码交织器和常用工具常在这一阶段操作。
generate-test-sources 生成测试源码 mojo 可以生成要操作的单元测试代码。
process-test-sources 处理测试源码 在编译前对测试源码执行任何必要的处理。在这一阶段,可以修改、转换或复制源代码。
generate-test-resources 生成测试资源

允许生成与测试相关的(非源码)资源。

process-test-resources 处理测试资源 可以处理、转换和重新定位与测试相关的资源。
test-compile 测试编译 编译单元测试的源码。
process-test-classes   对测试编译生成的文件做后期处理(需Maven2.0.5及以上)
test 测试 运行编译过的单元测试并累计结果。
prepare-package   执行打包前的所有操作(需Maven2.1及以上)
package 打包 将可执行的二进制文件打包到一个分布式归档文件中,如 JAR 或 WAR。
pre-integration-test 前集成测试 准备集成测试。这种情况下的集成测试是指在一个受到一定控制的模拟的真
实部署环境中测试代码。这一步能将归档文件部署到一个服务器上执行。
integration-test 集成测试 执行真正的集成测试。
post-integration-test 后集成测试 解除集成测试准备。这一步涉及测试环境重置或重新初始化。
verify 检验 检验可部署归档的有效性和完整性。过了这个阶段,将安装该归档。
install 安装 将该归档添加到本地 Maven 目录。这一步让其他可能依赖该归档的模块可以使用它。
deploy 部署

将该归档添加到远程 Maven 目录。这一步让这个工件能为更多的人所用。

 

maven快速上手实验一把

1.下载maven,谷歌搜索下~

下载为apache-maven-3.2.3 文件

配置环境变量bin配置到path中

cmd下mvn v 命令测试下是否ok.

成功后,

内部有

bin(包括maven的一些命令),

boot(plexus-classworlds-2.5.1.jar 估计是预先处理类字节的jar包),

conf(配置项,包括日志等)

lib(函数支持库,以及扩展包等,增强功能用的)

2.

创建一个类似这样的目录结构

maven

     maven1202     

       src

            main

                 java

                     com

                          alibaba

                                maven

                                      Hello.java

            test

         pom.xml

---------------------

pom.xml内容,这个配置文件的详细介绍,参看http://blog.csdn.net/adeyi/article/details/17259479

<?xml version="1.0" encoding="UTF-8"?>
<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.alibaba.maven</groupId>
  <!--本组织之类中唯一的ID-->
  <artifactId>maven1202</artifactId>
  <!--当前的版本号-->
  <version>1.0</version>
  <!--元素声明了一个对于用户更为友好的项目名字-->
	<name>maven</name>
</project>


3.cmd切换目录至maven1202

敲命令mvn compile进行mvn项目编译,时间有点长,耐心等待

编译完成后,在同src,pom.xml目录中,出现一个target目录,里面包含着编译之后的class文件(哎,这个编译实验原理不就是javac下maven目录并输出结果~)

4.继续敲命令mvn package对maven项目打包输出jar

这个输出jar的过程可能会出现erro,不过多试几次就行了~测试过程中第三次才ok

jar最终会输出在target目录中

5.敲命令

java -cp maven1202-1.0.jar com.alibaba.maven.Hello

输出Hello,java的内容,至此完成了maven的构建与输出


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值