探索构架开发J2EE项目的自动化体系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探索构架开发J2EE项目的自动化体系相关的知识,希望对你有一定的参考价值。

序目 

  1. Eclipse IDE开发环境

  2. Maven构建自动化编译打包项目

  3. NEXUS  私有Maven仓库

  4. SVN源码管理

  5. junit+mockito 单元测试与mock框架

  6. 集成 JaCoCo分析单元测试的覆盖率

  7. Jenkins集成

  8. Sonar分析源代码质量

  9. Glassfish Web容器发布


  人人都在谈敏捷开发的时代,所谓工欲善其事必先利其器……在此之前得有jdk环境,在这不多说了。

Maven 集成jacoco分析单测试的覆盖率

在父项目的pom.xml上加入如下配置

<build>
		<plugins>
                         ......

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.5.201505241946</version>
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>default-prepare-agent-integration</id>
						<goals>
							<goal>prepare-agent-integration</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report</id>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report-integration</id>
						<goals>
							<goal>report-integration</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.16</version>
				<configuration>
					<runOrder>random</runOrder>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>2.16</version>
				<executions>
					<execution>
						<id>default-integration-test</id>
						<goals>
							<goal>integration-test</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
                        ......
		</plugins>
	</build>    

  

若需要eclipse 的可显环境下可以看到覆盖情况,可以在eclipse安装个插件:EclEmma

参考:https://www.ibm.com/developerworks/cn/java/j-lo-jacoco/ 

jenkins yum安装

官网: http://jenkins-ci.org/

参考: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins

安装完成后,配置文件在:/etc/sysconfig/jenkins

 启动

service jenkins start

  

Sonar yum 安装

官网:http://www.sonarqube.org/

参考:http://sonar-pkg.sourceforge.net/

sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo
yum install sonar

安装默认路径在:/opt/sonar/

配置文件在:/opt/sonar/conf/sonar.properties 

(本人用的是mysql, mysql的安装也不多说了 ,因此修改:sonar.properties )

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar9?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

 启动

service sonar start

Sonar服务是启动了,访问http://192.168.0.240:9000,还需要maven编译配置的支持,在~/.m2/下创建setting.xml内容如下:

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>http://192.168.0.240:9000</sonar.host.url>
                <!-- sonar mysql database : change to your mysql info -->         
<sonar.jdbc.url>jdbc:mysql://192.168.0.240:3306/sonar9</sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password> </properties> </profile> </profiles> </settings>

 

 maven 编译时如下

mvn clean install sonar:sonar  

 

此时便会进行源代质理分析了并提交报告到sonar服务上去了。可以访问http://192.168.0.240:9000看报表了。

 

 Nexus 私有Maven仓库

Nexus用来管理开发的底层核心公用库、代理被GFW墙了的一些公开库(比如googlecode的)非常有效。

安装参考:http://blog.csdn.net/shenshen123jun/article/details/9084293 

项目的pom.xml配置如下:

在project节点下加入distributionManagement(用于编译打包上传到maven私有仓库),下面地址为参考,勿直直接使用:)

<distributionManagement>
        <repository>
            <id>releases</id>
            <url>http://192.168.0.240:8060/nexus/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <url>http://192.168.0.240:8060/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

 

maven 打包上传命令:

mvn deploy

上一步其实还是会打包上传不成功,因为没有设置私有仓库的身份授权,私有仓库身份配置参考:http://blog.csdn.net/hualom/article/details/8070320

私有身份的账号密码需要配置到开发机器的~/.m2/settings.xml的文件settings节点下(~在linux/unix下表地当前用户的根目录,windows是C:\users\{当前用户名}):如下

<servers>
        <server>
                <id>snapshots</id>
                <username>sing</username>
                <password>password</password>
        </server>
         <server>
                <id>releases</id>
                <username>sing</username>
                <password>password</password>
        </server>
   </servers>

 

留意上面的颜色对应,再执行mvn deploy应该就没问题了

还在不间断更新中...

以上是关于探索构架开发J2EE项目的自动化体系的主要内容,如果未能解决你的问题,请参考以下文章

eclipse j2ee项目run on server总没有,怎么办?

请教现在j2ee开发用哪个版本的eclipse

在 Eclipse 中哪里可以找到我的 J2EE 应用程序的类路径 [重复]

在Eclipse上配置J2EE版本

第17章 Luther构架:使用J2EE的移动应用案例分析

加载web项目时报的错误:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4