- 浏览: 1146834 次
- 性别:
- 来自: 火星郊区
博客专栏
-
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倍效率”开发者
在mvn.bat中很有用的一段 说了可以设置哪些参数 怎么debug
@REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM ----------------------------------------------------------------------------
需要灵活的时候
maven-artifact-ant
http://www.gbsou.com/2009/11/19/1510.html
maven-antrun-plugin
http://dev.firnow.com/course/3_program/java/javajs/20090306/158332.html
http://hi.baidu.com/yafengyouxia/blog/item/44dfb1a19c22ac8146106479.html
=========================================
mvn help:effective-pom 查看项目的有效配置
mvn dependency:analyze 分析依赖
mvn dependency:copy-dependencies copy 依赖jar
国内的maven镜像,欢迎大家使用!
访问地址:
release镜像库访问地址:http://58.20.54.58/content/groups/treleases
snapshot镜像库访问地址:http://58.20.54.58/content/groups/tsnapshots/
目前加入到镜像库的远程仓库有:
http://svn.apache.org/repos/asf/servicemix/m2-repo
http://repository.apache.org/snapshots
https://repository.apache.org/content/groups/public
http://www.aqute.biz/repo/
http://snapshots.repository.codehaus.org/
http://download.eclipse.org/rt/eclipselink/maven.repo
http://el4.elca-services.ch/el4j/maven2repository
http://maven.glassfish.org/content/groups/glassfish
http://repository.jboss.com/maven2
http://repo1.maven.org/maven2/
http://maven.objectweb.org/maven2/
http://deadlock.netbeans.org/maven2
http://maven.objectweb.org/maven2-snapshot
http://developer.ja-sig.org/maven2-snapshot
===============================================================
MVN:指定编译时的文字编码和语法级别
方法一:
<build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
方法二:
<properties> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <maven.compiler.target>1.6</maven.compiler.target> <maven.compiler.source>1.6</maven.compiler.source> </properties>
忽略单元测试失败:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build>
跳过单元测试:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build>
为自定义JSP标签添加JSP 2.0规格说明:
<dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jsp_2.0_spec</artifactId> <version>1.1</version> <scope>provided</scope> </dependency>
管理依赖
在 pom 中指明 dependency management 元素的方式 maven 结合项目继承来管理依赖。在多模块应用中,可能多个子项目会有共同的依赖。此时为了正确运行,必须让所有的子项目使用依赖项的同一版本。必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的成果。因此,应在顶层的 pom 中定义共同的依赖关系。
顶层 pom 中的 dependencies 与 dependencyManagement 中的 dependencies 元素有一个重要的区别:
dependencyManagement 中的 dependencies 元素只表明依赖项版本的优先选择,并不影响项目的依赖项;而 dependencies 元素则影响项目的依赖项。
===================================================================
http://www.sonatype.com/books/maven-book/reference_zh/public-book.html
Maven持续集成最佳实践
译自:http://blogs.sonatype.com/people/2009/01/maven-continuous-integration-best-practices/
持续集成是你在开发过程中经常会用到的一个最佳实践,它是高效软件开发生 命周期(SLDC)至关重要的一部分。如果还没使用这一实践,那么应该立刻就开始使用。持续集成最大的好处是,它能帮你立刻找出引入到系统中的错误,而不 是在很多天之后看到测试失败,或者在QA阶段再发现重大错误。本文并不是要介绍CI的优点,本文是介绍如何建立一个最佳的使用Maven的CI环境。这里 是一些关于如何在一个CI系统(如Hudson)中运行Maven构建的贴士。
#1 自动化Snapshot部署
按照我的经验,最好让CI系统部署你的snapshot。这是保证仓库内容和源码控制系统保持同步的最可靠的方法。要在实践中使用这种方法,你需要结合CI和仓库管理器,如Nexus ,它能自动的清除snapshot。我管理过一个项目,它在不到一周的时间内生成了>300gb的snapshot。使用一个仓库管理器会让你保持稳健。
#2 隔离本地仓库
另一个CI设置至关重要的组成部分是本地仓库隔离。Maven中的本地仓库是放置所有Maven下载和生成的构件的地方,并且当前它不是多线程安全的。虽然产生冲突的可能性很小,但它还是会发生的。
让每个项目有一个本地仓库最主要的原因是,这是测试你的项目是否基于公司 仓库可构建的唯一方法。如果你没有单独的本地仓库,那么一个构建的产品即使不在公司仓库中,也还会被CI上另一个构建看到。这里说的很重要,因为CI的一 个功能是,它应该能够验证代码对于一个真实的开发者来说是可构建的。
提示:使用 -Dmaven.repo.local=xxx 来为每个构建定义唯一的本地仓库。
#3 周期性的清除本地仓库
为了进一步的验证仓库的内容,以及管理硬盘空间,我每晚都清除本地仓库。如果仓库有变化或者构件被移除了,CI系统会检测到。为了方便的清除所有本地仓库,我倾向于将所有本地仓库组织到同一个目录下,如 /opt/repos/*。
很显然拥有多个本地仓库比起一个仓库来说需要更多的硬盘空间,因为有很多依赖的重复,但即使在我们的大型grid 上,所有的仓库的总大小也不到10gb。当你不控制snapshot,也不每晚清除仓库,不保持对它的控制,本地仓库就会慢慢的变得巨大。
提示:使用你的CI系统本身来安排本地仓库清理。这样当Maven糊涂的时候,任何人都可以手动的从UI上清理仓库。
久而久之,我也发现了一些更简单的技巧:
#4 开启批处理模式
提示:在构建中开启 -B(batch,批处理)模式。这会让日志变短,因为这避免了依赖下载过程的日志。这也能确保构建不会因为等待用户输入而挂起。
#5 开启完全堆栈跟踪
提示:开启 -e 能让Maven在遇到构建异常的时候产生完全的堆栈跟踪信息。这让我们更容易根据构建失败结构的日志或者email中理解问题,而不用重新构建一次。
#6 打印测试失败至标准输出
提 示:开启 -Dsurefire.useFile=false 。这是我最喜欢的选项之一,因为它能让surefire打印测试失败到标准输出,因此也就能被包含在构建失败日志或email中。这样就节省了你的时间, 不用再为了一个简单的堆栈日志去机器上寻找surefire报告。
#7 总是检查Snapshot
提示:开启 -U 让Maven总是最检查新的snapshot。该选项同样也可以在CI系统的setting.xml中开启。(提示4和6同样也可以在settings.xml中声明)
小结
使用上述的设置和过程会让每次build都将构件推入仓库中。接下来下游的build会有其自己的干净的本地仓库,然后检测仓库管理器以获取最新的snapshot。然后每天至少一次,本地所有的东西都被清除,所有的依赖都从仓库管理器抓取。
自然的,所有这些更新的清除工作都会给CI和仓库管理器之间的网络带来一些负荷。如果它们共享一个高速的网络,那么没什么问题。但如果你的仓库管理器和CI系统并不靠近,那么你应该在CI系统旁放一个仓库管理器,它代理远处的仓库,并能消除网络对每日本地仓库清理的影响。
注意: 如果你想要遵循这些提示,那么很重要的一点是下载一个Nexus 。清除你本地仓库的内容,每天每个项目都从中央仓库下载所有依赖,会造成中央Maven仓库的网络拥堵。
注: 在settings.xml中开启4,6,7:
#4: <interactiveMode>false</interactiveMode>
#6: <properties><surefire.useFile>true</surefire.useFile></properties> —— 在actived profile中
#7: <updatePolicy>always</updatePolicy> —— 在repository定义中
发表评论
-
svn和maven结合使用
2012-09-27 12:46 1092目前项目组在开发一个 ... -
用nexus搭建maven私服
2012-09-13 09:12 1126首先介绍一下背景,公 ... -
maven 去掉泛型警告和过时警告
2012-09-11 13:04 3439使用maven的过程中,常常会因为一些警告而不能通过编译,例如 ... -
maven 配置篇 之pom.xml
2012-08-27 08:36 1067pom作为项目对象模型。通过xml表示maven项目,使用 ... -
maven 配置篇 之 settings.xml 整理中...
2012-08-27 08:34 1151maven2比起maven1 来说,需要配置的文件 ... -
使用maven2 进行团队配置 整理中
2012-08-27 08:31 1388对于团队来说,建立统一的开发环境是必须的,而maven能很好 ... -
联通网络环境下无法访问http://repo1.maven.org/maven2/中央库解决,镜像库添加
2012-08-27 08:30 1611Maven 2的安装和使用虽然不是一点即用,但也不是很复杂 ... -
Maven新建欧洲中央镜像源
2012-07-12 09:42 1186熟悉maven的朋友都知道,我们maven的中央镜像源一直都 ... -
Maven properties
2012-01-19 10:57 1172Intro Because I couldn't fin ... -
maven常见问题问答
2011-12-29 08:21 1161. 前言 Maven ,发音是[`me ... -
Nexus入门指南(图文)
2011-12-28 08:16 1079Nexus介绍 Nexus 是Maven仓 ... -
Maven中多模块项目的Site生成
2011-12-31 08:46 1336疲累不堪的我一定不能在写完之前倒下。Maven生成站点大家都会 ... -
Maven的配置和使用
2011-12-29 08:21 11221、下载和安装maven 注:在使用之前,应首先安装 ... -
maven2站点的定制和发布
2012-01-05 11:02 1806mvn site功能强大,特别是在生成的项目站点中可以添加很多 ... -
一劳永逸的修改Maven的编译级别
2011-12-20 13:28 1349网络上最常见的方式是: Xhtml代码 ... -
Maven问题总结
2011-12-20 11:50 1973Maven问题总结 参考:http://tianya ... -
maven创建项目实例讲解
2011-12-06 10:14 1202在正文开始前,先要特别感觉两位同学——光远师兄和浩天,谢 ... -
maven 配置篇(一)
2011-11-26 16:44 1294了settings.xml配置,下来说一下maven2的主要配 ... -
Maven2 的新特性
2011-11-26 16:11 933Maven2 已经推出,Maven 的 ... -
maven入门总结
2011-10-20 09:39 1092刚来公司使用的第一个构建工具就是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配置操作文档** Apache Maven是一个强大的Java项目管理工具,它主要负责项目的构建、依赖管理和项目信息管理。Maven通过使用一个项目对象模型(Project Object Model,POM)来描述项目,并通过插件来执行...
SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...
标题"Maven配置"涉及到的核心内容包括Maven的安装与环境配置、POM.xml文件的理解与编写、本地仓库的设置以及Maven的全局配置等。 1. Maven的安装与环境配置: Maven的安装通常涉及下载最新版本的Maven,解压到指定...
标题中的“maven配置阿里云镜像.zip”是一个压缩包,其中包含了帮助用户配置Maven使用阿里云镜像的文件。这个压缩包内可能包括了两份关键文件:`settings.xml`和`pom.xml`。 **settings.xml配置** `settings.xml`...
** Maven配置及实验详解 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署项目。在本文中,我们将详细介绍如何配置Maven,并通过一个简单的“Hello World”项目来实践这一过程。 ### ...
Maven配置路径已经仓库地址 Maven是一种基于项目对象模型(POM)的项目管理工具软件,能够很方便的帮你管理项目报告,生成站点,管理JAR文件等等。官网是https://maven.apache.org/,依赖网址是...
** Maven配置教程 ** Maven是一个强大的项目管理工具,它帮助Java开发者管理和构建项目,通过自动处理项目的依赖关系。在本教程中,我们将详细介绍如何进行Maven的配置,特别是利用阿里云镜像来提高下载速度。 ###...
阿里巴巴仓库的maven配置文件,链接国内仓库,下载速度快,只需要配置一下本地仓库地址;阿里巴巴仓库的maven配置文件,链接国内仓库,下载速度快,只需要配置一下本地仓库地址;
maven 配置环境变量,需要从官网下载本地程序包,设置电脑的环境变量,开发java project 项目使用maven 仓库,本地maven仓库
maven配置文件(阿里云)
jdk+maven配置流程,配置手顺,简单快捷。
Maven默认使用中央仓库,但有时我们需要配置多个仓库,例如私有仓库,以提高依赖下载速度或管理内部私有构件。本文将详细介绍如何在Maven中配置多仓库。 ### Maven仓库类型 1. **中央仓库**:Maven官方维护的公共...
本篇文章将详细讲解在配置Maven时需要注意的一些关键点,确保你的开发环境能够顺利运行。 首先,要安装Maven。通常,你需要从Apache官方网站下载最新版本的Maven,并按照安装指南进行安装。在MyEclipse开发环境中,...
maven配置,设置仓库路径, 设置远程仓库源
在安装Maven构建工具后,Maven仓库镜像站点默认是国外的,因为网络原因,在构建项目时下载依赖文件会很慢,甚至有可能下载失败。所以我们一定要把仓库镜像站点改为国内的才能顺利下载,通常比较常用得是阿里云镜像,...