问题
这是我想要的一个常见问题.添加新代码转换为回归 - 现有的测试用例已过时.代码中的依赖关系意味着即使您知道如何修复此特定回归,也可能在两个方向的更多位置进行间接回归 - 传入和传出.
需求
我有一个运行SVN,Maven + Nexus,Sonar,Jenkins和JIRA,QC,QTP的商店.总而言之,这是一个良好的CI环境.
每一个新的构建我都会有新的回归案例.我希望在两个方向上找到Java包依赖关系并正确更新测试用例,以便涵盖所有类型的回归 - 直接和间接.这是一个更大的问题,因为我的单元测试覆盖率甚至没有接近50%,并且集成测试的自动化无法跟上开发的步伐.
我的选择
JArchitect,SONAR和CodePro将为您提供一个像这样或这样的简单矩阵.通过告诉我哪些用户和使用过的类受到影响,满足了我的一半要求.我想要的是更进一步,让工具告诉我哪些相应的测试用例受到影响,以及我是否需要更新和/或执行它们以覆盖我的回归风险.
Kalistick,Coverity和其他人可能会做我想做的事情 - 他们很难设置和配置,慢慢地与你的系统一起成长,因此不会立即产生效率,需要花费成本并需要学习曲线.
简短的问题
考虑到所有因素,如安装,学习曲线,成本,可用性或任何其他参数,我在上面使用哪些工具进行设置.
我已经阅读了关于静态分析的FAQ部分,很少有线程像Java的静态分析工具推荐?, /sf/ask/260134241/以及 对代码指标的迷恋是什么? 和许多相关的,但他们没有回答我的具体问题.
我试图配置jenkins以gmail作为POP提供商发送电子邮件通知,但我无法成功
SMTP server - pop.gmail.com
Default user e-mail suffix - @gmail.com
Sender E-mail Address - Foobar CI <your.email@gmail.com>
Use SMTP Authentication - yes
User Name - your.email
Password - p******d
Use SSL - yes
SMTP Port - 995
Reply-To Address - noreply@gmail.com
Charset - UTF-8
Run Code Online (Sandbox Code Playgroud)
测试失败:连接被拒绝
javax.mail.MessagingException:无法连接到SMTP主机:pop.gmail.com,port:995; 嵌套异常是:java.net.ConnectException:连接被拒绝:连接
我在Windows XP Professional中对xcopy有一个奇怪的问题.我不知道它是否是一个愚蠢的问题,因为我只指定一个文件作为源,所以我是否应该期待任何其他行为?就是这个:
我在用xcopy <src> <dest> /s/y.
<src>=C:\sourcefolder\a\b\c\d\something.java 和
<dest>=C:\destinationfolder.
现在xcopy复制文件但不在\a\b\c\d\里面创建目录结构C:\destinationfolder .
我想要的是C:\destinationfolder\a\b\c\d\something.java和
我得到的是 C:\destinationfolder\something.java
C:\destinationfolder通过指定.目标文件夹在目标文件夹中运行它我有一个脚本xcopy迭代调用所以我C:\destinationfolder\many java files没有任何目录结构.
答:是的,我已经做xcopy /?了所有选择
B. /T也不会创建任何空目录结构
C.我无法访问源文件夹a\b\c\d\并运行xcopy . <dest>
我正在使用Jenkins内部的M2发布插件,它在内部调用maven-release-plugin 2.3.2,同时构建抛出此错误:You don't have a SNAPSHOT project in the reactor projects list.问题是,我的项目劲歌做有自己的版本1.0.0快照.我错过了什么?
com.abc.def是company parent POM,我正在做mvn release的utils
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.abc</groupId>
<artifactId>def</artifactId>
<version>1.0.0</version>
</parent>
<groupId>com.abc.def</groupId>
<artifactId>utils</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>utils</name>
Run Code Online (Sandbox Code Playgroud)
是的,我已经完成了我的基本Google + SO拖网,而且它指出我的POM应该有SNAPSHOT作为版本,已经存在.除了我公司的父母POM不是快照.这可能是原因吗?
我正在使用Maven 3,在我的java项目中,pom文件包含一个源位置,如下所示.
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${JDK}</source>
<target>${JDK}</target>
<excludes>
<!--<exclude>**/**/api/notification/**/INotificationProfileManager.java</exclude> -->
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<version>1.3</version>
<archive>
<manifest>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Class-Path>./MubarsherTradeClasspath-1.0.jar</Class-Path>
<Specification-Vendor>Mubasher</Specification-Vendor>
<Implementation-Vendor>Mubasher</Implementation-Vendor>
<Sealed>false</Sealed>
</manifestEntries>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
编译后,生成的文件位于.../generate/src/main/java/...路径中.当声纳分析完成后,它会检查本身具有这些生成的类../src/main/java/...路径,因此分析失败.
所以我需要知道如何定义多个源路径来分析声纳?
我们的ant构建使用Java 1.7.0 for JAVA_HOME运行.这样,javac和所有其他Java依赖目标默认使用正确的Java.
但是来自外部供应商的1个目标不支持(或者更确切地说是使用Java 1.7.0).与例如javac或forked junit不同,此目标不支持切换jvm的参数.
是否可以在不同的jvm中运行特定的蚂蚁目标?
我有4个工作需要按以下顺序执行
JOB A
|------> JOB B
|------> JOB C
|------> JOB D
Run Code Online (Sandbox Code Playgroud)
在上面
我尝试了以下插件,无法实现我想要的
有没有我试过的插件可以帮助我解决这个问题.或者这可以通过不同的方式实现.请指教.
我有一个ANT脚本,它有一个属性,其值可以是一行或多行,例如property
prop1=
A_12.1_REL_B121000_10_18_2011.1700
A_12.1_REL_B121001_10_25_2011.6059
A_12.1_REL_B121001_10_25_2011.2201
A_12.1_REL_B121001_10_25_2011.2014
Run Code Online (Sandbox Code Playgroud)
请注意所有这些行以CRLF结尾,文件结尾也是另一个CRLF.现在我需要做的就是使用正则表达式选择最后一行.线的数量可以更少或更多,例如
prop1=
A_12.1_REL_B121000_10_18_2011.1700
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,我需要选择这一行.我搜索过较旧的帖子,但找不到具体的内容.有什么指针吗?
使用ant构建下一个项目版本的例程太多了.例程在几个属性文件中,必须在运行ant任务之前进行编辑.我看了一下Jenkins作为一个系统来进行构建(包括夜间构建),但我有一个改变属性的问题.
是否有可能(如果是,我该怎么做)在构建之前在Jenkins配置中键入参数,以便将它们传递给ant?
我真正的意思是以下架构(我在手动构建中使用):
有2个属性文件包含有关构建版本,src目标,用于通知新构建的电子邮件等的数据.
在Ant任务中使用相应的属性键,并在构建之前手动更改这些属性.
Java util读取了一些属性,并在构建期间用于它们自己的部分.
在build.xml中还导入了3或4个ant XML,这些xmls还从提到的文件中读取属性.
我想做的是:
更改Jenkins中的关键属性
按建设项目
我的数据将覆盖属性文件中的数据,或者作为ant vars值直接传递给ant的任务.
结果我收到了相应通知的新版本(它们是通过ant制作的)
是否存在允许通过Jenkins使这种模式工作的机制?
先感谢您.
我有开发团队发布的要求,要求撤销给定 UCM 活动中的所有更改。限制是我们没有删除权限。这意味着我知道我可以做一个lsactivity来列出活动中的所有元素及其各自的版本,然后在简单的世界中可以删除这些版本。
但是 SCM 政策不允许我们删除/ rmver任何东西。所以我只剩下重新合并 1 个版本了。意思是让我们说我将 a.java 的第 5 版签入了一个活动。我认为实现这一目标的一种方法是找到第 4 版(使用 -前身)并将此第 4 版盲复制为第 6 版。假设这次活动中每个文件只有 1 个版本。如果一个文件通过一个活动签入了 1 个以上的版本,这会更复杂,所以现在让我们忽略它。
任何其他想法或我的方法是否会/不会工作?
我需要逐个列出clearcase UCM流中每个组件的最新基线.我知道使用的"%[latest_bls]p"选项-fmt.问题是它列出了所有组件的所有最新基线.
我需要的是,给定组件名称C和流名称S,在流S中显示组件C的最新基线.
谢谢你的帮助.
在我的Maven构建结束时,为此明确目的而存在的一个模块从各种其他模块收集工件,并使用Assembly插件将它们压缩到存档中.完成后,它使用Deploy插件将它们部署到Nexus.
由于历史原因,此包装模块被调用bundle,因此工件最终被调用,因此mygroup:bundle被归类为Nexus.
我宁愿让它们显示在下面mygroup:myprojectname,但我无法弄清楚如何将它们部署到该位置.我已经尝试配置Deploy插件的deploy-file目标来更改坐标,但没有成功.作为一个额外的复杂功能,项目的主代码模块已被调用myprojectname,因此该组在部署时不为空.但是,由于分类器和类型,不需要覆盖任何内容.
没有重命名模块,我能以某种方式这样做吗?