- 浏览: 1149821 次
- 性别:
- 来自: 火星郊区
博客专栏
-
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. jvmarg 用法
使用jvmarg,可以设置java虚拟机的环境。
下面的代码是svn上的一个配置文件
<project name="digitaliser-dk"> <path id="ant.classpath"> <pathelement path="${tomcat.home}" /> <fileset dir="lib"> <include name="**/*.jar" /> </fileset> </path> <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="ant.classpath" /> <property environment="env" /> <echo message="looking for host specific properties file host_${env.COMPUTERNAME}.properties" /> <property file="host_${env.COMPUTERNAME}.properties" /> <echo message="looking for host specific properties file host_${env.AMAZON_SERVER}.properties" /> <property file="host_${env.AMAZON_SERVER}.properties" /> <property file="build.properties" /> <condition property="personal.config.isset"> <isset property="personal.config" /> </condition> <if> <equals arg1="${personal.config.isset}" arg2="true" /> <then> <property file="config_${personal.config}.properties" /> <echo>Using propertyfile config_${personal.config}.properties</echo> </then> <else> <property file="config.properties" /> <echo>Using propertyfile config.properties</echo> </else> </if> <property name="solr.plugins.jar" value="../solr-plugins/target/solr-plugins-1.0-SNAPSHOT.jar" /> <property name="resource.repository.dir" value="${basedir}/../resource-repository" /> <property name="mvn.executable" value="mvn" /> <property name="tomcat.port" value="8080" /> <property name="war.file.name" value="resourcerepository-1.0-SNAPSHOT.war" /> <property name="resourcerepository.war.file" value="${resource.repository.dir}/target/${war.file.name}" /> <macrodef name="maven"> <attribute name="dir" default="." /> <attribute name="args" default="" /> <sequential> <echo message="running mvn @{args}" /> <if> <os family="windows" /> <then> <exec executable="cmd.exe" dir="@{dir}"> <arg line="/c mvn.bat @{args}" /> </exec> </then> <else> <exec executable="mvn" dir="@{dir}"> <arg line="@{args}" /> </exec> </else> </if> </sequential> </macrodef> <target name="redeploy"> <antcall target="stop-tomcat" /> <deploy /> <antcall target="start-tomcat" /> </target> <macrodef name="deploy"> <attribute name="context" default="ROOT" /> <attribute name="war" default="${resource.repository.dir}/target/resourcerepository-1.0-SNAPSHOT.war" /> <sequential> <echo message="deploying @{war} to context @{context}" /> <delete dir="${tomcat.home}/webapps/@{context}" /> <delete file="${tomcat.home}/webapps/@{context}.war" /> <mkdir dir="target/tomcat" /> <copy file="${tomcat.context}" tofile="target/tomcat/@{context}.xml" /> <replace file="target/tomcat/@{context}.xml" token="WAR_FILE_NAME" value="@{war}" /> <copy file="target/tomcat/@{context}.xml" tofile="${tomcat.home}/conf/Catalina/localhost/@{context}.xml" /> <antcall target="configure-solr" /> </sequential> </macrodef> <target name="deploy-snapshot"> <if> <isset property="db.snapshot.source.file" /> <then /> <else> <property name="db.snapshot.source.file" value="${default.db.snapshot.source.file}" /> </else> </if> <antcall target="stop-tomcat" /> <echo message="dropping old database..." /> <exec executable="${postgresql.dropdb}" failonerror="false"> <arg value="--username=postgres" /> <arg value="digitaliserdk" /> </exec> <echo message="using snapshot file ${db.snapshot.source.file}" /> <echo message="restoring database..." /> <exec executable="${postgresql.pg_restore}"> <arg value="--username=postgres" /> <arg value="--create" /> <arg value="--dbname=postgres" /> <!-- db name does not matter --> <arg value="${db.snapshot.source.file}" /> </exec> <antcall target="start-tomcat" /> </target> <target name="take-snapshot"> <exec executable="${postgresql.pg_dump}"> <arg value="--username=postgres" /> <arg value="--format=c" /> <arg value="-f" /> <arg value="target/db_snapshot.dump" /> <arg value="digitaliserdk" /> </exec> </target> <target name="start-tomcat-debug"> <if> <os family="windows" /> <then> <echo message="Starting Fedora as Windows service" /> <exec executable="sc.exe"> <env key="BUILD_ID" value="dontKillMe" /> <arg value="start" /> <arg value="resourcerepository" /> </exec> </then> <else> <echo message="Starting Fedora using bootstrap.jar" /> <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true"> <env key="BUILD_ID" value="dontKillMe" /> <jvmarg value="-Dcatalina.home=${tomcat.home}" /> <jvmarg value="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" /> <jvmarg value="-Djava.util.logging.config.file=${tomcat.home}/conf/logging.properties" /> <jvmarg value="-Dnet.sourceforge.cobertura.datafile=${cobertura.datafile}" /> <jvmarg value="-Xdebug" /> <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" /> <!-- <jvmarg value="-Xbootclasspath/p:/home/ahj/Trifork-Profiler/lib/instrumentation-1.6.0_13-b03.jar" /> --> <jvmarg value="-XX:MaxPermSize=512m" /> </java> </else> </if> <sleep seconds="5" /> </target> <target name="start-tomcat"> <if> <os family="windows" /> <then> <echo message="Starting Fedora as Windows service" /> <exec executable="sc.exe"> <env key="BUILD_ID" value="dontKillMe" /> <arg value="start" /> <arg value="resourcerepository" /> </exec> </then> <else> <echo message="Starting Fedora using bootstrap.jar" /> <echo message="Running: ${tomcat.home}/bin/bootstrap.jar -Dcatalina.home=${tomcat.home} -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=${tomcat.home}/conf/logging.properties -Dnet.sourceforge.cobertura.datafile=${cobertura.datafile}" /> <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true" spawn="true"> <env key="BUILD_ID" value="dontKillMe" /> <jvmarg value="-Dcatalina.home=${tomcat.home}" /> <jvmarg value="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" /> <jvmarg value="-Djava.util.logging.config.file=${tomcat.home}/conf/logging.properties" /> <jvmarg value="-Dnet.sourceforge.cobertura.datafile=${cobertura.datafile}" /> </java> </else> </if> <sleep seconds="5" /> </target> <target name="stop-tomcat"> <if> <os family="windows" /> <then> <echo message="Stopping Fedora as Windows service" /> <exec executable="sc.exe"> <arg value="stop" /> <arg value="resourcerepository" /> </exec> </then> <else> <echo message="Stopping Fedora using bootstrap.jar" /> <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true"> <jvmarg value="-Dcatalina.home=${tomcat.home}" /> <arg line="stop" /> </java> <sleep seconds="5" /> </else> </if> </target> <target name="reindex"> <property name="reindex.url" value="http://localhost:${tomcat.port}/rest/admin/index" /> <get src="${reindex.url}" dest="target/index.log" username="admin" password="oioadmin" /> </target> <target name="clean"> <delete file="${cobertura.datafile}" /> <delete dir="target" /> <delete dir="../integration-tests/target" /> <delete dir="../resource-repository/target" /> </target> <target name="build" depends="clean"> <mkdir dir="target" /> <attribute name="context" default="ROOT" /> <attribute name="war" default="${resource.repository.dir}/target/resourcerepository-1.0-SNAPSHOT.war" /> <copy file="${tomcat.context}" tofile="target/tomcat/@{context}.xml" /> <replace file="target/tomcat/@{context}.xml" token="WAR_FILE_NAME" value="@{war}" /> <maven dir=".." args="install -Dmaven.test.skip=true" /> </target> <target name="build-and-deploy" depends="build"> <antcall target="redeploy" /> </target> <target name="configure-solr"> <mkdir dir="${solr.home}/lib" /> <copy todir="${solr.home}/lib" overwrite="true"> <fileset file="${solr.plugins.jar}" /> </copy> <copy todir="${solr.home}/conf" overwrite="true"> <fileset dir="${resource.repository.dir}/resources/solr-config" /> </copy> <replace file="${solr.home}/conf/solrconfig.xml" token="<dataDir>INDEX_DIR</dataDir>" value="<dataDir>${solr.indexDir}</dataDir>" /> </target> <target name="coverage" depends="build"> <path id="cobertura.classpath"> <fileset dir="${cobertura.dir}"> <include name="cobertura.jar" /> <include name="lib/**/*.jar" /> </fileset> </path> <taskdef classpathref="cobertura.classpath" resource="tasks.properties" /> <property name="cobertura.datafile" value="${basedir}/target/cobertura.ser" /> <echo message="cobertura datafile: ${cobertura.datafile}" /> <property name="instrumented.war.file" value="target/${war.file.name}" /> <maven dir="${resource.repository.dir}" args="cobertura:cobertura" /> <cobertura-instrument todir="target" datafile="${cobertura.datafile}"> <ignore regex="dk.itst.oio.katalog.resourcerepository.jaxws.*" /> <ignore regex="dk.itst.oio.katalog.resourcerepository.management.*" /> <includeClasses regex="dk.itst.oio.*" /> <instrumentationClasspath> <pathelement location="${resourcerepository.war.file}" /> </instrumentationClasspath> </cobertura-instrument> <antcall target="stop-tomcat" /> <copy file="${cobertura.dir}/cobertura.jar" todir="${tomcat.home}/lib" /> <deploy war="${instrumented.war.file}" context="ROOT" /> <antcall target="start-tomcat" /> <antcall target="reindex" /> <maven dir="../integration-tests" args="integration-test" /> <get src="http://localhost:${tomcat.port}/rest/admin/flushcobertura" dest="target/flushcobertura.log" username="admin" password="oioadmin" /> <antcall target="stop-tomcat" /> <antcall target="start-tomcat" /> <cobertura-merge datafile="target/cobertura-merged.ser"> <fileset file="${cobertura.datafile}" /> <fileset file="${resource.repository.dir}/target/cobertura/cobertura.ser" /> </cobertura-merge> <cobertura-report datafile="target/cobertura-merged.ser" format="html" destdir="target/cobertura-report" srcdir="${resource.repository.dir}/src/main/java" /> <cobertura-report datafile="target/cobertura-merged.ser" format="xml" destdir="target/cobertura-report" srcdir="${resource.repository.dir}/src/main/java" /> </target> </project>
2.-Xbootclasspath 在cobertura中的使用方法
下面的代码是cobertura,ant配置文件中的一个片段。为了这个功能找了好久,使用jvmarg标签给java虚拟机加载jar
<!-- 单元测试 -->
<target name="test" depends="init,compile,copyxml">
<junit fork="true" dir="${basedir}" failureProperty="test.failed">
<!--
Note the classpath order: instrumented classes are before the
original (uninstrumented) classes. This is important.
-->
<jvmarg value="-Xbootclasspath/p:${project.lib.dir}/utmp/STAR-1.0.jar" />
<classpath location="${instrumented.dir}" />
<classpath location="${classes.dir}" />
<!--
The instrumented classes reference classes used by the
Cobertura runtime, so Cobertura and its dependencies
must be on your classpath.
-->
<classpath refid="project.classpath" />
<classpath refid="cobertura.classpath" />
<formatter type="xml" />
<test name="${testcase}" todir="${reports.xml.dir}" if="testcase" />
<batchtest todir="${reports.xml.dir}" unless="testcase">
<fileset dir="${testsrc.dir}">
<!-- 2.增加测试用例类,可以参考下面的例子写 -->
<!--
-->
<!-- 100% 行覆盖率
<include name="com/cvicse/inforguard/utmp/analysis/storage/machineroom/service/impl/ViewSrvImplTest.java" />
-->
<include name="com/cvicse/inforguard/utmp/analysis/storage/asset/service/impl/AssetWizardSrvImplTest.java" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${reports.xml.dir}">
<fileset dir="${reports.xml.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${reports.html.dir}" />
</junitreport>
</target>
发表评论
-
一个例子全部说明java泛型中的K,V,T,E,?,object的意思及其用法
2013-03-07 11:09 70491.意思 jdk中的K,V,T,E等泛型名称很多人以为 ... -
Log4j 把不同包的日志打印到不同位置
2012-11-29 08:23 1150需要的包和测试的代码下载附件! 如果需要将不同的日 ... -
Java多线程发展简史
2012-09-16 14:25 1037转自:http://www.raychase.ne ... -
Java编码易疏忽的十个问题
2012-09-06 08:52 914在Java编码中,我们容易 ... -
网络编程
2012-09-04 13:30 972计算机网络基础 什么是计算机网络 把分布在 ... -
获取Java程序运行的路径 | 获取当前jar包的路径
2012-09-04 11:55 14082经过试验,不管是否是 Jar 包,不管是否是 Tom ... -
java的concurrent用法详解
2012-08-03 11:28 1020我们都知道,在JDK1.5之前,Java中要进行业务并发时 ... -
Java程序员必知的8大排序
2012-07-05 09:56 10278 种排序之间的关系: ... -
Comparator与Comparable的区别
2012-07-05 08:38 1220当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用C ... -
RSA算法Java实现
2012-06-27 08:22 1416Java代码 package c ... -
队列阻塞浅析
2012-06-17 18:10 932这几天所做的项目中涉及到了队列阻塞机制,通过研究整理如下 ... -
Java面试过程中会遇到的问题
2012-06-13 13:04 11451、abstract的method是否可同时是static,是 ... -
【解惑】深入jar包:从jar包中读取资源文件
2012-06-13 13:02 1101我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。 ... -
java 处理文件路径中的空格
2012-06-13 12:57 1539问题背景: windows下有个目录名称Program ... -
java内存分配机制
2012-06-13 12:52 1172通过这几天对一个 ... -
byte[]转化成其他数据类型
2012-05-14 16:41 1656Java与其他语言数据类型之间的转换方法实例程序 /*** ... -
java中byte转换int时为何与0xff进行与运算
2012-05-14 16:39 1071java中byte转换int时为何 ... -
java整型数与网络字节序的 byte[] 数组转换关系
2012-05-14 16:31 6460工作项目需要在 java 和 c/c++ 之间进行 ... -
利用 Base64 缩短 UUID 至22位
2012-04-15 18:57 7175UUID还是比较常用的,尤其在web应用里。 有时在UR ... -
图解Java中的值传递与引用传递(更新版)
2012-04-09 12:49 1179编程的人,都会遇到值传递与引用传递的困惑,不过很快都会迎 ...
相关推荐
在Maven项目中,我们可以通过在pom.xml文件中配置`cobertura-maven-plugin`来启用它。首先,需要添加Mojohaus组织的插件仓库,因为Cobertura Maven插件是这个组织维护的: ```xml <id>sonatype-nexus-snapshots...
Cobertura is a free Java code coverage reporting tool. It is based on jcoverage 1.0.5. See the Cobertura web page and wiki for more details. Since 2.0.0, Cobertura versions follow the Semantic ...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
Cobertura可用于分析Java代码的测试覆盖率。Cobertura根据没有被测试覆盖的代码生成基于HTML的报告。...通过监控可测试的代码,Cobertura允许你使用你选择的测试框架,甚至不需要测试框架就可以运行程序。
sonar-cobertura-plugin-1.7.jar,拷贝到sonarqube/extensions/plugins/目录下,重启sonar就可以了
cobertura-2.1.1.jar下载
【标题】:“gradle-cobertura-plugin-1.0.zip”和“javafx-maven-plugin.zip” 【描述】中提到的两个压缩包文件涉及到的是Java开发中的自动化构建工具和测试覆盖率工具。首先,“gradle-cobertura-plugin-1.0.zip...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
1. 下载:首先,你需要从官方仓库或镜像站点下载Cobertura-2.1.1的压缩包。 2. 解压:将下载的压缩包解压到你的工作目录,这通常会产生一个包含lib、bin和其他配置文件的目录结构。 3. 配置环境变量:将Cobertura的...
在"cobertura-1.9.4.1"这个目录中,可能包含以下组件: 1. **源代码**:所有Java源文件,通常位于`src/main/java`目录下,这些文件按照包结构组织,包含了Cobertura的核心功能和实现。 2. **构建脚本**:如`build....
在使用Cobertura-2.1.1时,开发者需要将它集成到构建工具(如Maven、Gradle)中,配置相应的插件和参数。在执行单元测试后,Cobertura会生成覆盖率报告,指出哪些代码需要更多的测试覆盖。这有助于提高代码质量,...
**istanbul-cobertura-badger...通过使用 `istanbul-cobertura-badger`,前端开发者可以更方便地管理和提升项目的测试覆盖率,从而提高代码质量和项目稳定性。在开源社区中,这样的工具是推动代码质量提升的重要力量。
支持的覆盖率指标: 包装/文件夹的整体生产线和分支机构覆盖范围类/文件的整体行和分支覆盖范围功能命中行和分支命中快速使用并使用python运行: python lcov_cobertura.py lcov-file.dat -b/--base-dir (可选)...