- 浏览: 1148995 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
1、下载和安装maven
注:在使用之前,应首先安装JDK。
#可以去共用目录中下载,下载完后解压到指定的目录中,如C:\Program Files\apache-maven-2.2.0
#配置环境变量:1)MAVEN_HOME: 你安装的Maven的目录,如C:\Program Files\apache-maven-2.2.0
#在Path 中加入%MAVEN_HOME%\bin
配置完之后,在命令窗口中使用 mvn –version 会出现如下信息
此时,maven已经安装配置好了。
2、使用maven来构建项目,从源代码编译成二进制项目文件
用maven对项目打包,比如用svn下载项目从
svn://10.0.0.58:8000/java/materias/poc/maven/core/ ,下载到指定的目录,比如放在E:\workspace\java\materias\poc\maven\core目录下
项目的结构如下:
包括src源代码目录,unit test源码目录,以及配置文件目录resources
打开命令窗口,用cd命令转到项目所在的目录下
运行mvn compile ,假如下现如下的结果,则该命令运行成功。
该命令是用来编译所有的的(java)源文件,编译后生成所有的class文件放在根目录下的target\classes目录下,即如
除此之外,maven还有很多其他常用的命令方式,比如:
- mvn test-compile //编译测试代码 ,比如编译test下的源文件,编译后生成的所有的class文件放在根目录下的target\test-classes目录下
- *mvn test //运行应用程序中的单元测试,比如对以上的项目,测试生成的结果放在根目录下的target\surefire-reports目录下,
- mvn clean 清除目标目录中的生成结果 delete target,即会清除生成的target目录
- mvn package 依据项目生成 jar或者war/sar文件,比如对以上的项目,生成的包文件会放在根目录下的target\目录下的core-1.0.jar文件,这里要注意的是运 行了mvn package命令以后,对于这之前的操作(包括mvn compile,mvn test-compile,mvn test)命令,都会自动运行
- mvn install 在本地 Repository 中安装 jar或者war,即将生成的jar或者war放在本地的Repository中,这里要说明的是,maven中默认的Repository是在 C:\Documents and Settings\(当前系统用户的名称)\.m2\repository目录下,我们也可以人为的将它存放在指定的目录下,步骤是打开maven的安装 目录,打开conf\下的settings.xml文件,修改其中的<localRepository>,比如将其修改为 中间就是所要指定的目录,如对以上的项目,执行了mvn install项目后,不仅在根目录下生成target\目录,同时还会将生成的jar文件存放到Repository中,即E:/app/m2 /repository中
- mvn site 生成项目相关信息的网站
- mvn eclipse:eclipse 生成Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。执行完了后,就可以将源码项目导入elipse。
- mvn eclipse:clean 清除Eclipse 项目文件及包引用定义文件。
如果想要跳过测试,则加上-Dmaven.test.skip=true参数,如:mvn install -Dmaven.test.skip=true。
3、mvn的运行简单机制
通过pom.xml来进行构建。 比如Pom.Xml以上项目中的pom.xml文件
- <modelVersion> --描述这个POM文件遵从哪个版本的项目描述符;
- <groupId> -- 针对一个项目的普贤遍唯一识别符。通常用一个完全正确的包的名字来与其他项目的类似名字来进行区分;比如以上的项目,生成的(java)源文件会放在根目 录下的\target\classes\com\sunvalley\demo中,\com\sunvalley\demo便是这 里<groupId>所唯一标识的;
- <artifactId> -- 项目的通用名称
- <packaging> -- 打包扩展名(JAR、WAR、EAR),举个例子jar,war,pom Plugings能够创建他们自己的包,包括包的类型;比如以上的项目生成的core-1.0.jar文件
- <name> -- 当前项目的全称;
- <version> --当前项目产生的artifact的当前版本;
- <description> -- 当前项目的一个细节描述;
除此之外还有一些其它的元素,如<dependencies>
<dependencies> 这个元素描述了所有与当前项目相关的依赖。
比如以上项目中的
这是在以上项目中进行unit test所要用到的一个工具junit。groupId是该组件的标识符,artifactId表示该组件的通用名称,version表示该组件的版本,scope:用于限制相应的依赖范围,还有其他的几种范围如
compaile :默认范围,用于编译
runtime:在执行时,需要使用
test:用于test任务时使用
此外在<dependencies>中可以配置多个<dependency>,即多个组件的配置
<dependencies> <dependency> 可以配置多个相关的依赖 <groupId>activation</groupId> 所依赖组件的标识符 <version>1.0.1</version> 所依赖组件的版本 <properties> 所依赖组件的属性 <war.bundle.jar>true</war.bundle.jar> </properties> </dependency> </dependencies>
4、Maven-proxy的使用
4.1 maven-proxy的作用
maven-proxy是你访问maven仓库(repository)的代理,它可以连接多个maven仓库,但对你来说,你只需要知道maven-proxy就够了。
更重要的是,maven-proxy可以看作是maven仓库在你本地的缓存,这在团队开发的时候会节省下载jar包的时间。比如,你的团队有10个人,默认的情况下maven repository的服务器为http://repo2.maven.org/maven2 ,这个http://repo2.maven.org/maven2 可能访问很慢。开发中,10个人都需要分别连接http://repo2.maven.org/maven2 下载。现在你本地假设了一个maven-proxy B。所有的人都直接连接B。这样,只有第一个人在下载时,B会从http://repo2.maven.org/maven2 下载jar包,同时缓存,其他9个人只需要从B下载就够了。那么如何让B来访问http://repo2.maven.org/maven2 呢
4.2 配置代理
打开安装maven的目录下的conf目录下的settings.xml文件
配置其中的<profiles>…</profiles>和<activeProfiles>…< /activeProfiles>元素,如将它们配置为如下:其中的<url>就是服务器所在的url,注<profile>里的<id>与<activeProfiles>中的<activeProfile>对应。
保存后,将配置好的settings.xml文件拷贝到本地的repository仓库的同级目录下,比如说放在E:\app\m2
此时,重新启动该服务器,之后对以上的项目(从SVN下载下来的项目)进行打包,即如该项目放在E:\workspace\java\materias \poc\maven\core目录下,重新打开一个命令窗口,用cd命令转到该目录下,执行mvn compile即编译该项目的命令,此时会出现像如下的结果:
这说明已经成功的在服务器上download了文件oscache-2.4.jar,到这里就已经代理成功了,如要访问其它的服务器,只需在配置settings.xml文件的时候,服务器的全称改为此服务器的全称即可,如:
<url>的中间便是所要访问服务器的全称。
注:有关于服务器的设置请参看有关的附录。
5、解决Maven内存溢出的问题
找到文件%MAVEN_HOME%\bin\mvn.bat,这就是启动Maven的脚本文件,找到该文件中以下代码所在的行:
它的意思是你可以设置一些Maven参数,我们就在该行下面加入以下行:
set MAVEN_OPTS= -Xms256m -Xmx512m
上述设置表示Java堆得大小范围为256M-512M,经过上述设置之后,当再运行Maven命令如 mvn -version 的时候,你会看到如下的输出:
c:\>mvn -versionc:\>set MAVEN_OPTS= -Xms128m -Xmx512m.......
6、忽略失败
当你运行一个Maven构建的时候,它会包含一系列的项目,每个项目可以成功或者失败。你可以三种可选的失败模式:
最快失败模式:Maven会在遇到第一个失败的时候失败(停止)。
最后失败模式:Maven会在构建最后失败(停止)。如果Maven refactor中一个失败了,Maven会继续构建其它项目,并在构建最后报告失败。
从不失败模式:Maven从来不会为一个失败停止,也不会报告失败。
发表评论
-
svn和maven结合使用
2012-09-27 12:46 1093目前项目组在开发一个 ... -
用nexus搭建maven私服
2012-09-13 09:12 1127首先介绍一下背景,公 ... -
maven 去掉泛型警告和过时警告
2012-09-11 13:04 3447使用maven的过程中,常常会因为一些警告而不能通过编译,例如 ... -
maven 配置篇 之pom.xml
2012-08-27 08:36 1074pom作为项目对象模型。通过xml表示maven项目,使用 ... -
maven 配置篇 之 settings.xml 整理中...
2012-08-27 08:34 1157maven2比起maven1 来说,需要配置的文件 ... -
使用maven2 进行团队配置 整理中
2012-08-27 08:31 1392对于团队来说,建立统一的开发环境是必须的,而maven能很好 ... -
联通网络环境下无法访问http://repo1.maven.org/maven2/中央库解决,镜像库添加
2012-08-27 08:30 1619Maven 2的安装和使用虽然不是一点即用,但也不是很复杂 ... -
Maven新建欧洲中央镜像源
2012-07-12 09:42 1188熟悉maven的朋友都知道,我们maven的中央镜像源一直都 ... -
Maven properties
2012-01-19 10:57 1174Intro Because I couldn't fin ... -
maven常见问题问答
2011-12-29 08:21 1164. 前言 Maven ,发音是[`me ... -
Nexus入门指南(图文)
2011-12-28 08:16 1082Nexus介绍 Nexus 是Maven仓 ... -
Maven中多模块项目的Site生成
2011-12-31 08:46 1348疲累不堪的我一定不能在写完之前倒下。Maven生成站点大家都会 ... -
maven2站点的定制和发布
2012-01-05 11:02 1811mvn site功能强大,特别是在生成的项目站点中可以添加很多 ... -
一劳永逸的修改Maven的编译级别
2011-12-20 13:28 1350网络上最常见的方式是: Xhtml代码 ... -
Maven问题总结
2011-12-20 11:50 1974Maven问题总结 参考:http://tianya ... -
maven创建项目实例讲解
2011-12-06 10:14 1203在正文开始前,先要特别感觉两位同学——光远师兄和浩天,谢 ... -
maven 配置篇(一)
2011-11-26 16:44 1300了settings.xml配置,下来说一下maven2的主要配 ... -
Maven2 的新特性
2011-11-26 16:11 935Maven2 已经推出,Maven 的 ... -
Maven 配置
2011-11-18 08:27 1559在mvn.bat中很有用的一段 说了可以设置哪些参数 怎么de ... -
maven入门总结
2011-10-20 09:39 1096刚来公司使用的第一个构建工具就是maven,当时学会了几个 ...
相关推荐
maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置...
maven配置阿里云镜像仓库,maven配置阿里云镜像仓库,maven配置阿里云镜像仓库。
maven配置文件配置国内阿里云镜像
Maven默认使用中央仓库,但也可以配置使用阿里云、公司内部仓库等。通过`settings.xml`中的`mirror`元素,可以设置优先访问的镜像。 9. **Maven的 profiles** profiles允许在不同的环境(如开发、测试、生产)下...
**Maven配置操作文档** Apache Maven是一个强大的Java项目管理工具,它主要负责项目的构建、依赖管理和项目信息管理。Maven通过使用一个项目对象模型(Project Object Model,POM)来描述项目,并通过插件来执行...
### Maven的配置及使用 #### 一、Maven简介 Maven是一款自动化构建工具,它主要应用于Java项目中。Maven通过一系列规范化的构建过程,简化了项目的构建流程,提高了开发效率。Maven的核心功能包括依赖管理、生命...
### Maven 的基本使用和配置 #### Maven 介绍 Maven 是 Apache 软件基金会支持的一个项目管理工具,主要用于 Java 项目的构建与依赖管理。它通过一个项目对象模型(POM)来管理项目的构建、报告和文档。Maven 的...
**正文** 在软件开发中,Maven作为Java项目管理和构建工具,其...通过正确配置`pom.xml`和`settings.xml`,以及使用Nexus这样的仓库管理工具,我们可以更好地管理Maven的依赖关系,为团队开发提供高效、可靠的环境。
在本章节中,我们将学习如何安装、配置和使用Maven。Maven是一个基于项目对象模型(Project Object Model,POM)的软件项目管理和构建自动化工具。它可以帮助开发者管理项目的构建、报告和文档。 1.1 在 Windows 上...
包含了<<maven权威指南>>,maven官方api使用等,自己的maven笔记等详细的maven使用教程,同时还包含了maven客户端搭建,服务器配置于搭建的详细资料,是以整套的maven学习资料.
** Maven 3.3.9 安装与配置详解 ** Maven 是一个强大的Java项目管理工具,它能够帮助开发者管理项目的构建、依赖关系、版本控制以及生成...了解并掌握 Maven 的配置和使用方法,是每个 Java 开发者必备的技能之一。
SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...
标题"Maven配置"涉及到的核心内容包括Maven的安装与环境配置、POM.xml文件的理解与编写、本地仓库的设置以及Maven的全局配置等。 1. Maven的安装与环境配置: Maven的安装通常涉及下载最新版本的Maven,解压到指定...
总结来说,配置Maven涉及安装Maven、修改`settings.xml`文件、配置JDK、调整`pom.xml`以指定编译和插件设置,以及在Tomcat服务器上设置合适的权限。这些步骤都是为了确保Maven能够高效、正确地工作,帮助开发者构建...
** Maven配置及实验详解 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署项目。在本文中,我们将详细介绍如何配置Maven,并通过一个简单的“Hello World”项目来实践这一过程。 ### ...
配置完成后,可以通过命令行输入java –version命令来测试JDK配置是否成功,输入mvn –version命令来测试Maven配置是否成功,输入startup.bat命令来测试Tomcat配置是否成功。 此外,需要注意的是,在配置环境变量时...
展示了如何创建和管理包含多个子项目的Maven项目,以及如何利用Maven的继承特性来共享配置和依赖。 **3.4 Web应用** 介绍了如何使用Maven来构建Web应用,包括Servlet的编写、J2EE依赖的添加、Web应用的打包和部署等...
### Maven配置安装与项目搭建详解 #### Maven简介 Maven是一款强大的自动化构建工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过一系列标准的过程来管理项目的生命周期,从而简化了项目的构建过程。...
maven 配置环境变量,需要从官网下载本地程序包,设置电脑的环境变量,开发java project 项目使用maven 仓库,本地maven仓库