Maven
文章平均质量分 64
炼气散人
等儿子高考后,或许会回来
展开
-
开发自己的Maven插件之五:创建简单的report plugin
现在我来开发一个report plugin,我希望我的report plugin输出的hello world能够被集成到mvn site产生的站点中。1.用向导创建一个report plugin工程:mvn archetype:create -DgroupId=org.freebird -DartifactId=myreport -DarchetypeArtifactId=maven-archet原创 2012-07-03 15:11:17 · 6672 阅读 · 0 评论 -
开发自己的Maven插件之二:利用创建向导简化工作
前面手工创建plugin的maven项目的时候,提到要注意几点:1.packaging值位maven-plugin而不是jar,war2.dependency要用到maven-plugin-api3.还需要使用maven-plugin-plugin或者注释里面添加特殊标记来创建descriptor那么,懂了这些基本方法后,看看maven-archetype-plugin为我们提供创建plugin项原创 2012-07-02 11:54:04 · 5781 阅读 · 0 评论 -
开发自己的Maven插件之七:开发jslint4java-report plugin
现在你会看到我写这系列文章的真正目的。jslint是一个Javascript检查工具,jslint4java是一个Java开发者提供的Java项目中很方便使用jslint来检查JavaScript代码的工具。该开发者还提供了jslint4java plugin用于maven项目。现在简单介绍一下如何使用这个插件:在你的Java web的maven项目中,pom.xml中添加如下配置:原创 2012-07-04 13:26:23 · 5477 阅读 · 0 评论 -
升级到Maven3.1.0 以支持 OpenJDK7
因为现在Ubuntu13.04默认安装的是OpenJDK7, 默认安装的是Maven3.04,结果导致以前写的Java Maven工程编译失败。最后决定升级maven看看能不能解决。首先卸载调原来的mavenapt-get autoremove maven3然后去官网下载maven3.10,解压后放到/usr目录,最后修改~/.bashrc,添加两行:export MAVEN_HOME=/usr/原创 2013-08-04 12:37:06 · 3669 阅读 · 0 评论 -
maven-site-plugin 使用
maven-site-plugin是一个负责为Java项目生成静态HTML网站的插件。这个插件非常的有用,里面可以嵌入各种插件,比如用来对代码检查bug的findbugs,检查代码风格的checkstyle,生成testng测试报告的surefire等。先来看一下关于这个插件的配置的一个例子: 0.0.1-SNAPSHOT UTF-8 UTF-8 6.4原创 2012-03-22 10:25:42 · 8165 阅读 · 0 评论 -
Maven远程部署web工程到Tomcat7中
tomcat-users.xml文件中如下配置: Maven工程中pom.xml文件如下配置: org.codehaus.mojo tomcat-maven-plugin http://192.168.1.200:8080/manager/text test /MyService 在~/.m2/settings.xml文件中如下配原创 2011-11-29 15:36:45 · 7474 阅读 · 1 评论 -
将Maven项目发布到Nexus私服
1.首先进入http://S1:8081/nexus/index.html 登录后,进入repositories页面。2.点击Add按钮创建一个hosted repository,id为sheismylife,name为chenshu repository,点save按钮。创建成功。3.如果有一个项目要发布,可以手动在网页上upload,也可通过mvn deploy命令部署。如果是后者:修改pom原创 2012-01-20 14:26:51 · 22588 阅读 · 0 评论 -
从Maven私服获取依赖
通过Internet直接从Maven公用仓库获取依赖包是默认配置。不过对于中国软件公司来讲,访问这些公用仓库通常较慢,对于一些管理严格的不能直接上网的软件公司来讲,这更加是不可能的。Maven项目可以配置成仅从Maven私服上获取依赖。上一篇已经讲述了如何安装Nexus为Maven私服。下面就假定使用S1服务器上的Nexus服务。可以参考官方文档:http://www.sonatype.com/b原创 2012-01-19 18:33:28 · 13656 阅读 · 0 评论 -
搭建Maven私服
安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html首先确保JDK1.6已经安装,我用的是openjdk.1.下载并安装Nexus在Ubuntu 12.04 server上,下载Nexus最新版本。和官方文档不一样的地方是,我将nexus放在了/usr而不是原创 2012-01-18 12:29:24 · 12457 阅读 · 0 评论 -
surefire 和 surefire-report plugin
今天遇到了很奇怪的事情,浪费了两个小时。还是因为过于自信,没有仔细看配置。maven 配置里面怎么也不能用上自己配置的testng.xml, 用了这么久,居然遇到这种问题。为此特意写了一个测试工程。最后才发现,居然在该用surefire的地方用到了surefire-report,下面是正确的配置,testng.xml就在项目根目录下, org.apache.maven原创 2012-06-27 17:30:54 · 7533 阅读 · 0 评论 -
开发自己的Maven插件之六:使用自己的report-plugin
互联网上有篇文章:http://docs.codehaus.org/display/MAVENUSER/Write+your+own+report+plugin讲了一些基本的操作,但是举的例子对于熟悉report-plugin开发的人来说的确简单,而对于不熟悉的人来讲,有点复杂。所以例子并不好。我前一篇文章虽然很简陋,但是例子够简单,容易看懂。现在用另一个maven程序使用这个plugin。pom原创 2012-07-03 15:23:27 · 5438 阅读 · 1 评论 -
用Maven profile实现不同的打包策略
需求是:1.在本地开发的时候,war包部署在本地glassfish上的时候contextroot是dev-geoflow2.在持续集成的时候,war包部署在服务器上的glassfish的时候,contextroot是geoflow3.默认情况下,使用2首先配置一个用于本地开发的profile dev webxml/develop原创 2012-07-16 13:00:55 · 7881 阅读 · 0 评论 -
maven-glassfish-plugin使用
以前曾经用过一阵子maven-glassfish-plugin,后来有一阵子突然不能访问公共仓库(GFW干的),导致放弃了这种用法。现在依赖公司Nexus私服,又尝试了一次。首先添加如下配置到pom.xml中 org.glassfish.maven.plugin maven-glassfish-plugin 2.1 /home/chenshu/glassf原创 2012-07-16 10:06:55 · 7187 阅读 · 1 评论 -
开发自己的Maven插件之四:基本概念
前面三节已经能够开发并使用一个简单的Maven plugin。本节停留一下,梳理一下基本概念。1.用向导创建mvn archetype:create -DgroupId=com.freebird -DartifactId=plugin-example1 -DarchetypeArtifactId=maven-archetype-mojo 当然,懂得手动创建的原理仍然很重要。不要被便捷的工具屏蔽了底原创 2012-07-03 11:17:37 · 5714 阅读 · 0 评论 -
Maven 灵活使用不同的仓库
Nexus私服让我们可以在企业内部从同一个私服下载Maven仓库里面的dependency和plugin.很方便,不过昨天碰到的一个问题是,有一个仓库加入到Nexus后不能,Maven工程无法通过Nexus私服下载该仓库的dependency。这个仓库叫做:http://download.osgeo.org/webdav/geotools/想了一个办法绕过它,通过Maven的~/.m2/setti原创 2012-06-29 10:56:25 · 5447 阅读 · 0 评论 -
开发自己的Maven插件之一:hello world
一直在使用Maven,用了各种各样的插件,但是有时候没有的话,还是需要自己写点。写一个插件并不难,会写插件的另一个好处就是了解了更多的Maven工作机制的内幕。对更好的使用Maven有帮助。首先创建一个Maven项目,名叫plugin-example1。这里要理解一个术语:mojo,就是Maven Plain Old Java Object,也就是一个普通的Java类。我们需要mojo的api库,原创 2012-07-02 18:19:09 · 18816 阅读 · 3 评论 -
Maven部署本地仓库
突然碰到一个需求,将现在的一套代码放在远程服务器上,能够编译,打包,部署并且调试。因为远程服务器不能使用公司私服,因此,只有把编译出来的jar包部署到本地仓库。这个很简单,从依赖链的最底层库开始编译并且执行mvn install。一个小问题是 当一些库被用parent pom组织在一起的时候,parent pom也要被手动安装到本地仓库中。在parent pom文件所在的目录下执行命令:mvn -原创 2012-07-18 12:14:13 · 4115 阅读 · 0 评论 -
开发自己的Maven插件之八:使用jslint4java-report plugin
为了使用前一节创建的jslint4java-report plugin,在我的Java web工程的pom.xml中添加如下配置: org.apache.maven.plugins maven-site-plugin 3.0 org.freebird jslint4java-report 1.0-SNAPSHOT原创 2012-07-04 13:35:23 · 4915 阅读 · 1 评论 -
开发自己的Maven插件之三:使用插件
好,现在创建另一个Maven项目来使用第二篇创建的plugin.注意还是通过私服获取。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.apach原创 2012-07-02 20:59:30 · 10631 阅读 · 2 评论 -
Maven多模块部署到Nexus上的问题
我们使用了父项目的pom.xml用来管理所有的子项目的共同依赖和插件,父项目自己没有代码。大概拥有7个子项目,都是maven的。所有在Jenkins上打包出来的子项目的jar包都会被自动部署到Nexus服务器上。今天当版本从0.0.1-SNAPSHOT升级到1.0.0-SNAPSHOT的时候,发现一些问题。首先A子项目被部署到nexus上,然后B子项目编译报错,原因是在nexus上找不到父项目的p原创 2012-09-05 11:14:27 · 5714 阅读 · 1 评论 -
用Maven实现不同的测试策略
我使用的是Maven + Surefire + TestNG的测试方案。注意,这里不要采用testng.xml的方式。然后设置一个默认属性 110portal 接着设置一个profile agol arcgis.com 在surefire-plugin中如下配置: org.apach原创 2012-09-12 14:08:04 · 2893 阅读 · 0 评论 -
Maven3 创建 JSF2应用程序
<br />本文主要介绍用Maven3创建一个简单的JSF2web应用程序,该程序仅仅包含一个非常简单的Facelete页面index.xhtml。同时该工程还使用了MyBatis和logback等库。我自己将该工程作为一个模板工程。<br />创建Web程序的命令<br />使用maven-archetype-webapp命令创建程序,具体格式如下:<br />mvn archetype:create<br /> -DgroupId=[your project's group id]<br原创 2011-01-03 11:17:00 · 5240 阅读 · 1 评论