maven

http://marshal.easymorse.com/archives/1212

http://marshal.easymorse.com/archives/2644
http://devbbs.doit.com.cn/thread-11232-1-1.html

http://devbbs.doit.com.cn/forum.php?mod=viewthread&tid=44055

http://blog.jeoygin.org/2012/03/hdfs-source-analysis-1-datanode-overview.html
http://hi.baidu.com/yangzhibin_bai/blog/item/1cd781ddfeffbad18d1029d1.html

http://devbbs.doit.com.cn/forum.php?mod=viewthread&tid=11232

http://devbbs.doit.com.cn/forum.php?mod=viewthread&tid=50067

http://devbbs.doit.com.cn/forum.php?mod=viewthread&tid=50199
http://juvenshun.iteye.com/blog/305865

在Linux下安装Nexus仓库管理器

1. 获得root权限
[ferrari@localhost ~]$ su –

2. 下载nexus集成版
[root@localhost ~]# cd /usr/local
[root@localhost local]# wget http://nexus.sonatype.org/downloads/nexus-oss-webapp-1.6.0-bundle.zip

3. 解压缩
[root@localhost local]# unzip nexus-oss-webapp-1.6.0-bundle.zip
[root@localhost local]# rm -rf nexus-oss-webapp-1.6.0-bundle.zip
[root@localhost local]# ln -s nexus-oss-webapp-1.6.0 nexus

4. 设置为系统服务
[root@localhost local]# cd /etc/init.d
[root@localhost init.d]# cp /usr/local/nexus/bin/jsw/linux-x86-32/nexus ./nexus
[root@localhost init.d]# chmod 755 nexus
[root@localhost init.d]# chkconfig –add nexus
[root@localhost init.d]# chkconfig –levels 345 nexus on

5. 编辑/etc/init.d/nexus的文本
5.1. 添加以下变量
NEXUS_HOME=/usr/local/nexus
PLATFORM=linux-x86-32
PLATFORM_DIR=”${NEXUS_HOME}/bin/jsw/${PLATFORM}”
5.2. 修改以下变量
WRAPPER_CMD=”${PLATFORM_DIR}/wrapper”
WRAPPER_CONF=”${PLATFORM_DIR}/../conf/wrapper.conf”

PIDDIR=”${NEXUS_HOME}”

6. 启动服务
[root@localhost init.d]# service nexus start

7. 处理SELinux警告
7.1. 启动之后,会受到一个SELinux警告:
SELinux is preventing java from loading /usr/local/nexus-oss-webapp-1.6.0/bin/jsw/linux-x86-32/lib/libwrapper.so which requires text relocation.
7.2. 按照其中提示运行以下命令:
[root@localhost init.d]# chcon -t textrel_shlib_t ‘/usr/local/nexus-oss-webapp-1.6.0/bin/jsw/linux-x86-32/lib/libwrapper.so’

8. 启动之后,打开以下网址可以看到Nexus网页界面。
http://localhost:8081/nexus/index.html
默认管理员用户名/密码: admin/admin123

9. 在防火墙设置中添加8081端口的TCP协议,局域网内其他机器也可以访问该网页界面。
http://repository-server:8081/nexus/index.html

Maven安装最佳实践

设置MAVEN_OPTS环境变量

前面介绍Maven安装目录时我们了解到,运行mvn命令实际上是执行了Java命令,既然是运行Java,那么运行Java命令可用的参数当然也应该在运行mvn命令时可用。这个时候,MAVEN_OPTS环境变量就能派上用场。

通常需要设置MAVEN_OPTS的值为-Xms128m -Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如在项目较大时,使用Maven生成项目站点需要占用大量的内 存,如果没有该配置,则很容易得到java.lang.OutOfMemeoryError。因此,一开始就配置该变量是推荐的做法。

关于如何设置环境变量,请参考前面设置M2_HOME环境变量的做法,尽量不要直接修改mvn.bat或者mvn这两个Maven执行脚本文件。因 为如果修改了脚本文件,升级Maven时就不得不再次修改,一来麻烦,二来容易忘记。同理,应该尽可能地不去修改任何Maven安装目录下的文件。

 

mvn compiler:compile时出现非法字符: /65279错误

原因:

UltraEdit、EditPlus等编辑器会在utf8编码格式的文件开头添加utf8标识,使文件的编码格式由utf8变为utf8+BOM,导致maven编译时将utf8标识误认为非法字符。

解决办法:

通过UltraEdit、EditPlus等编辑器将utf8+BOM编码格式的文件改为utf8格式,去掉文件开头的utf8标识即可。

 

maven中如何忽略单元测试中的错误继续构建工程

maven中默认的情况下如果单元测试有错误,将会停止构建工程,如果想忽略错误而继续构建的话只需在pom.xml文件中添加下面的配置即可:

 

<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build> [...] </project>
这段配置将会忽略单元测试的错误而继续构建。
命令行:$ mvn test -Dmaven.test.failure.ignore=true