- 浏览: 439473 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (167)
- 技术文章 (26)
- HTML & XHTML & XML (16)
- javascript (11)
- ajax (1)
- css (8)
- spring (1)
- hibernate (8)
- struts (4)
- SEO&SEM (6)
- php (13)
- MySQL (11)
- Oracle (1)
- 学习笔记 (26)
- 技术文档下载 (6)
- 笔随心动 (16)
- 奇闻天下 (7)
- 其他文档 (10)
- Unity3d (1)
- memcached (1)
- PHP 浏览器版本 os 操作系统版本 (1)
- maven (1)
- Android (1)
- php是 (1)
- lower_case_table_names=1 (1)
最新评论
-
18335864773:
目前 用pageoffice组件的比较多.POI对Office ...
Poi的一个实例——用SQL动态导出Excel文件 -
afreon:
http://blog.yoodb.com/yoodb/art ...
org.hibernate.WrongClassException 错误解决 -
springaop_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Maven Pom.xml 元素详解 -
影非弦:
显示的是A server error has occurred ...
DWR 弹出Error 解决 -
xu3352:
非常不错,:idea: ,感谢楼主
CSS3 中文文档
一、安装Maven并设定环境变量
首先到 http://maven.apache.org 去下一个maven最新的安装包,比如2.0.8,随便解压到一个目录,假设 C:\mvn208。
然后设定环境变量:
SET M2_HOME=%install-dir%
SET MAVEN_HOME=%install-dir%/bin
默认的本地 Repositories-Path 在 %M2_HOME%/conf/settings.xml中,找到<localRepository>修改之即可。
这步也很重要,如果出现mvn运行时错误请检查此处。
查看Maven版本:
mvn -v | -ver | -verson
二、创建简单的Maven-project
建个目录C:\mvnTest,命令行输入> mvn archetype:create -DgroupId=com.test -DartifactId=mytest
-DgroupId -- 项目组名称,也可以理解为默认的包名称。
-DartifactId -- 项目名称、工程名,等价于 project-name
这样就在目录C:\mvnTest\mytest下生成了一个mvn-project了。
进入该目录发现有个pom.xml(以下简称pom)文件,mvn的全部配置(对于此项目)都在这了。
通常开发需要集成到Eclipse,生成.project,.classpath
在pom-path下输入:
mvn eclipse:eclipse
三、使用Help插件
在pom-path下尝试输入一下命令:
mvn help:active-profiles -- 列出当前构建中活动的 Profile(项目的,用户的,全局的)。
mvn help:effective-pom -- 显示当前构建的实际 POM,包含活动的 Profile。
mvn help:effective-settings -- 打印出项目的实际 settings, 包括从全局的 settings 和用户级别 settings继承的配置。
mvn help:describe -- 描述插件的属性。它不需要在项目目录下运行。但是你必须提供你想要描述插件的 groupId 和 artifactId。
describe加上参数就会像下面这样:
mvn help:describe -Dcmd=install
mvn help:describe -Dcmd=help:describe
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin
mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-help-plugin
具体作用,光看名字就一目了然了。
四、使用Archetype 插件
创建一个maven项目:
mvn archetype:create -DgroupId=com.sunnysoft -DartifactId=sunnyware -DpackageName=com.sunnysoft.sunnyware
...
-DpackageName -- 指定包名称(不写的话就是-DgroupId了)
执行后生成的pom如下:
<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.sunnysoft</groupId> <artifactId>sunnyware</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>sunnyware</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>
项目的目录:
生成的目录及文件: \---sunnyware | pom.xml | \---src +---main | \---java | \---com | \---sunnysoft | \---sunnyware | App.java | \---test \---java \---com \---sunnysoft \---sunnyware AppTest.java
运行 mvn install 来初始化项目。
构建后的目录及文件: \---sunnyware | pom.xml | +---src | +---main | | \---java | | \---com | | \---sunnysoft | | \---sunnyware | | App.java | | | \---test | \---java | \---com | \---sunnysoft | \---sunnyware | AppTest.java | \---target | sunnyware-1.0-SNAPSHOT.jar | +---classes | \---com | \---sunnysoft | \---sunnyware | App.class | +---surefire-reports | com.sunnysoft.sunnyware.AppTest.txt | TEST-com.sunnysoft.sunnyware.AppTest.xml | \---test-classes \---com \---sunnysoft \---sunnyware AppTest.class
Look!目录中多了测试和部署文件!
用 java -cp target/sunnyware-1.0-SNAPSHOT.jar com.sunnysoft.sunnyware.App 来测试App.java 吧!
CONTINUE
当 Maven 经过以 package 为结尾的默认生命周期的时候,下面的目标按顺序被执行:
resources:resources
Resources 插件的 resources 目标绑定到了 resources 阶段。这个目标复制 src/main/resources 下的所有资源和其它任何配置的资源目录,到输出目录。
compiler:compile
Compiler 插件的 compile 目标绑定到了 compile 阶段。这个目标编译src/main/java 下的所有源代码和其他任何配置的资源目录,到输出目录。
resources:testResources
Resources 插件的 testResources 目标绑定到了 test-resources 阶段。这个目标复制 src/test/resources 下的所有资源和其它任何的配置的测试资源目录,到测试输出目录。
compiler:testCompile
Compiler 插件的 testCompile 目标绑定到了 test-compile 阶段。这个目标编译 src/test/java 下的测试用例和其它任何的配置的测试资源目录,到测试输出目录。
surefire:test
Surefire 插件的 test 目标绑定到了 test 阶段。这个目标运行所有的测试并且创建那些捕捉详细测试结果的输出文件。默认情况下,如果有测试失败,这个目标会终止。
jar:jar
Jar 插件的jar 目标绑定到了 package 阶段。这个目标把输出目录打包成JAR文件。
Maven exec 插件:
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main 相当于测试一个有main方法的class文件。(比如 java Main)
Maven dependency 插件:
mvn dependency:analyze -- 分析项目依赖性
mvn dependency:resolve -- 显示项目依赖
mvn dependency:tree -- 显示项目依赖的树形结构
单元测试:
mvn test -- 直接运行Maven单元测试。实际上在 mvn install 或 mvn package 同时也会运行单元测试。test 依赖在pom中的定义像这样:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
如果你打算在构建时忽略掉错误的信息,就这样定义:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <!-- 此值为true则忽略测试中的构建错误 --> <testFailureIgnore>true</testFailureIgnore> <!-- 此值为true则不执行单元测试 --> <skip>true</skip> </configuration> </plugin> </plugins> </build>
关于此插件可以参考:http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html
命令行的话:
mvn test -Dmaven.test.failure.ignore=true -- 忽略错误构建
另外,这行最常用到的:
mvn package -Dmaven.test.skip=true -- 在打包时跳过测试
Maven Assembly (创建分发包) 插件:
pom定义:
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <!-- 这样可以把项目依赖的class或jar文件也一并构建进去 --> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin>
创建webapp:
就像创建一个普通的JavaProject一样简单:
mvn archetype:create -DgroupId=com.sunnysoft -DartifactId=sunnywareweb -DpackageName=com.sunnyware -DarchetypeArtifactId=maven-archetype-webapp
-DarchetypeArtifactId=maven-archetype-webapp 加上即可。
最后,要清理项目时候就用:
mvn clean install -- 清理项目。
发表评论
-
MySQL 分区表举例
2017-03-08 19:42 1687关于MySQL分区表的概念百度上一大堆,这里给出几个例子供 ... -
PHP mysqli_stmt 的 bindparam问题
2014-09-25 15:47 5959在使用 mysqli_stmt 相关预处理SQL的方法时,调 ... -
写了一个PHP MongoDB 的封装,经管已经有了不少轮子了
2014-07-11 12:05 5965<?php /** * Descripti ... -
数字绕圈算法 JS 实现
2014-06-25 01:26 1454这是一道某公司的算法题,我们姑且称之为“数字绕圈算法”。 ... -
Unity3d Trigger 和 Collision 使用
2014-06-21 03:17 2847大致研究了下,可以有这几种情况: 如果物理视觉上有碰撞 ... -
PHP 文件遍历
2014-06-16 10:42 796$dir = "D:\workspace" ... -
VS2012警告未能加载包“Visual C++ package”
2014-02-19 15:33 2512安装了windows更新后就出现VS2012无法打开项目的问 ... -
常用数学公式
2011-07-11 14:23 1114常用数学公式表 ... -
WTK 模拟器内存不足问题
2010-01-13 17:42 2194在使用WTK模拟器运行较大的程序时偶尔会报内存不足的异常,解决 ... -
是String,StringBuffer还是StringBuilder?
2009-12-12 14:21 1042相信大家对 String 和 StringB ... -
Java面试题
2009-12-12 14:16 1152Java面试中,最常被人问到的几个问题: 1. java.ut ... -
JS 小算法
2009-09-03 15:09 984// 任意长度的int数组arr,求指定位置n之前的元素和 ... -
Event keyCode 键值大全
2009-07-09 15:01 1863keycode 8 = BackSpace BackS ... -
jQuery 中文数字排序问题
2009-06-01 12:45 3893顾名思义就是对中文数字:第一、第二、第三等等。 需要对 ... -
Maven Pom.xml 元素详解
2009-05-06 10:43 11236parent: 给出父项目的 ... -
mvn jetty:run 错误
2009-05-05 16:00 9527执行mvn jetty:run 来测试新构建的webapp时会 ... -
MySQL大小写问题
2009-03-17 09:04 13541.创建表时 CREATE TABLE T( A VAR ... -
maven运行时错误解决
2009-03-10 16:31 29809今日在做maven项目部署时出现了这样一个错误,开始时不得要领 ... -
Code Review需要做什么?
2009-02-24 18:17 14171. 完整性检查(Completeness) 代码是否完全实现 ... -
Struts2 redirect参数取不到的问题解决方法
2009-02-09 15:57 4151Struts2中通过配置文件重定向后常出现参数找不到的问题,总 ...
相关推荐
5. Learning about Spring Boot Features 6. Moving to Production 7. Advanced Topics II. Getting Started 8. Introducing Spring Boot 9. System Requirements 9.1. Servlet Containers 10. Installing Spring ...
Documentation is essential for learning and mastering Groovy. There are several resources available to help you: **1.7.1 Using Online Resources** The official Groovy website is a primary source of ...
Learn everything needed about the Felix Framework and get familiar with Gogo, its command-line shell to start developing your OSGi applications. Simplify your OSGi development experience by learning ...
Maven Git client Chapter 1, Introduction to Microservices, will introduce you to the microservices architecture, cloud environment, etc. You will learn the difference between a microservice based ...
Spring Boot 的核心特性之一是其起步依赖,这些是预定义的Maven或Gradle配置模块,可以轻松地引入到项目中,例如:spring-boot-starter-web用于web应用,spring-boot-starter-data-jpa用于数据库访问等。...
- **了解Spring Boot特性**(Learning about Spring Boot features):深入探讨了Spring Boot提供的各种功能。 - **迁移至生产环境**(Moving to production):讲述了如何将Spring Boot应用部署到生产环境。 - **...