`

Jira+SVN整合开发整理

    博客分类:
  • SVN
阅读更多
Connection to Subversion repository http://svn.xxx.cn/Current failed: org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication required for '<http://svn.xxx.cn:80>'
原因:据说是svnkit包的一个bug.
解决方案:
添加JVM系统参数-Dsvnkit.http.methods=Basic,Digest,NTLM
Properties properties = System.getProperties();
properties.setProperty("svnkit.http.methods", "Basic,Digest,NTLM");

org.tmatesoft.svn.core.SVNException: svn: Unable to create SVNRepository object for
原因:svn访问地址与调用的方法不一致
解决方案:svn://xx.xx.xx -- SVNRepositoryFactoryImpl.setup();
          http://xx.xx.xx -- DAVRepositoryFactory.setup( );


mvn install:install-file -Dfile=E:\software\svnkit.jar -DgroupId=thirdlib -DartifactId=svnkit -Dversion=1.3.5 -Dpackaging=jar  -DgeneratePom=true -DcreateChecksum=true
作用:将本地jar加入到maven2仓库。
maven1.0不含mvn命令,如需要将jar加入到本地的maven仓库,可以到仓库按其它包目录结构创建文件夹,并将本地jar拷贝到创建的目录下,在project.xml添加相应的依赖关系即可使用。


java.lang.IllegalArgumentException: Action 'com.xxx.jira.web.action.issue.CheckSvnCommitIssue' could not be instantiated.  Class is invalid or static initializers have failed to run
原因:未将相应的jar包拷贝到主程序的lib目录下,在插件部分加了jar包,所以编译不会出错,但当运行时就会报如上错误。
解决方案:在主程序的project.xm也需要加相应的依赖。

java访问svn测试代码:

public class History {

	public static void main(String[] args) {
		Properties properties = System.getProperties();
		properties.setProperty("svnkit.http.methods", "Basic,Digest,NTLM");
		DAVRepositoryFactory.setup();
		// SVNRepositoryFactoryImpl.setup();
		String url = "http://svn.xxx.cn/current";
		// String url = "svn://localhost";
		String name = "username";
		String password = "password";
		long startRevision = 0;
		long endRevision = -1; // HEAD (the latest) revision

		SVNRepository repository = null;

		try {
			repository = SVNRepositoryFactory.create(SVNURL
					.parseURIEncoded(url));
		} catch (SVNException e) {
			e.printStackTrace();
		}
		ISVNAuthenticationManager authManager = SVNWCUtil
				.createDefaultAuthenticationManager(name, password);
		repository.setAuthenticationManager(authManager);

		final Collection logEntries = new ArrayList();
		long start = System.currentTimeMillis();
		try {
			repository.log(new String[] { "" }, startRevision, endRevision,
					true, true, new ISVNLogEntryHandler() {
						public void handleLogEntry(SVNLogEntry entry) {
							if (entry.getMessage().indexOf("QS-5762") != -1) {
								logEntries.add(entry);
							}
						}
					});
		} catch (SVNException e) {
			e.printStackTrace();
		}

		for (Iterator entries = logEntries.iterator(); entries.hasNext();) {
			SVNLogEntry logEntry = (SVNLogEntry) entries.next();
			System.out.println("---------------------------------------------");
			System.out.println("revision: " + logEntry.getRevision());
			System.out.println("author: " + logEntry.getAuthor());
			System.out.println("date: " + logEntry.getDate());
			System.out.println("log message: " + logEntry.getMessage());

			if (logEntry.getChangedPaths().size() > 0) {
				System.out.println();
				System.out.println("changed paths:");
				Set changedPathsSet = logEntry.getChangedPaths().keySet();

				for (Iterator changedPaths = changedPathsSet.iterator(); changedPaths
						.hasNext();) {
					SVNLogEntryPath entryPath = (SVNLogEntryPath) logEntry
							.getChangedPaths().get(changedPaths.next());

					System.out.println(" "
							+ entryPath.getType()
							+ " "
							+ entryPath.getPath().substring(
									entryPath.getPath().lastIndexOf("/") + 1));
				}
			}
		}
	}
}
分享到:
评论
1 楼 qq373752247 2012-11-30  
我用了
Properties properties = System.getProperties();
properties.setProperty("svnkit.http.methods", "Basic,Digest,NTLM");


还是报错:
org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication required for '<https://svn.dtw.covisint.com:443> Covisint Subversion Repository'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:47)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:41)
at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:250)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:551)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:274)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:262)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:999)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.logImpl(DAVRepository.java:939)
at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:1034)
at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:939)
at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:863)
at com.compuware.covisint.css.idsync.poc.impl.SVNManger.main(SVNManger.java:201)

相关推荐

    软件研发管理-基于JIRA+SVN的版本管理交流-白冰-zip

    本资料包主要围绕“软件研发管理-基于JIRA+SVN的版本管理交流”展开,由专家白冰分享,旨在帮助团队更高效地进行协作与代码管理。这里我们将深入探讨JIRA和SVN这两个工具在软件研发管理中的应用。 首先,JIRA是一款...

    软件研发管理-基于JIRA+SVN的版本管理交流-白冰.pptx

    【标题】: "软件研发管理-基于JIRA+SVN的版本管理交流-白冰.pptx" 【描述】: 这份文档主要讨论了软件研发管理中如何利用JIRA和SVN进行有效的版本管理,旨在解决软件研发和交付过程中的问题。 【标签】: 技术 ...

    软件研发管理-基于JIRA+SVN的版本管理交流.zip

    转变:软件供应商独家交付咨询服务商+软件开发商协同研发 2.企业管理越来越专业化、精细化 要求:用户对软件的功能细节、可用性,用户体验的要求越来越高 3.监管法规、行业政策等促使企业管理的持续改善 要求:...

    软件研发管理基于JIRA+SVN的版本管理交流白冰.pptx

    【软件研发管理基于JIRA+SVN的版本管理交流白冰】 在软件研发过程中,管理是确保项目成功的关键因素之一。随着软件规模的扩大和客户需求的复杂化,有效的管理工具和方法变得至关重要。JIRA和SVN是两种常用于软件...

    Jira+mysql5.7解决包.rar

    Jira+Mysql5.7会报引擎问题,因为JIRA匹配到5.6版本,解决方案是更新链接客户端, 使用方法:解压后把文件放入/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/目录

    CentOS系统安装JDK+Crowd+JIRA+Confluence教程

    JDK+Crowd+JIRA+Confluence安装教程 JDK+Crowd+JIRA+Confluence安装教程

    Jira8 svn集成插件

    atlassian-jira-subversion-plugin-3.0.2-jira8.jar svn与jira集成 支持Jira 8 版本 亲测v8.3.0可用

    使用JIRA+Jenkins进行敏捷开发项目管理

    ### 使用JIRA+Jenkins进行敏捷开发项目管理 #### 一、引言 随着软件开发领域的不断进步,敏捷开发已成为主流方法之一。敏捷开发强调快速响应变化、持续交付可用的软件以及鼓励团队间的紧密协作。在这样的背景下,...

    JIRA集成SVN配置说明

    3. **版本管理**:整合JIRA与SVN,可以更好地管理代码版本,确保每一次提交都有清晰的上下文。 #### 三、环境配置 - **服务器IP**:199.3.0.10(SVN源代码服务器),199.3.8.190(JIRA服务器) - **端口**:3690...

    MyEclipse+SVN+Jira开发工具集成说明.doc

    【MyEclipse+SVN+Jira开发工具集成】是一个高效的工作流程整合方案,它将三个重要的开发工具紧密地结合在一起,以提升团队协作效率和项目管理能力。MyEclipse作为一个强大的Java EE集成开发环境,提供了丰富的功能和...

    CentOS系统安装JDK+Crowd+JIRA+Confluence教程1

    CentOS系统安装JDK+Crowd+JIRA+Confluence教程 在本篇教程中,我们将详细介绍如何在 CentOS 系统中安装 JDK、Crowd、JIRA 和 Confluence。这些工具都是 Atlassian 家族中的重要组件,广泛应用于软件开发、项目管理...

    JIRA+Confluence实现敏捷协同开发

    本节课程将介绍JIRA及Confluence集成于敏捷项目中的应用实践。重点在Scrum计划会议、立会、反思及检讨会议如何透过JIRA及Confluence实现协同合作,进而帮助敏捷团队持续过程改进。

    jira显示svn地址的修改类

    实现jira显示svn地址的修改类

    jira和svn的集成

    JIRA和Subversion(SVN)的集成是软件开发过程中版本控制和问题跟踪相结合的重要步骤。通过集成,开发团队能够在JIRA系统中直接访问Subversion版本库的信息,从而提高工作效率和问题追踪的准确性。 首先,JIRA的...

    JIRA+MYSQL配置

    首先,JIRA是一个项目管理工具,广泛应用于敏捷开发领域。它可以通过敏捷看板、缺陷跟踪、问题跟踪、以及项目管理等功能来提升团队的工作效率。而MYSQL是一款流行的开源关系型数据库管理系统,其主要功能是存储信息...

    JIRA集成SVN手册

    JIRA是一个很好的BUG跟踪管理系统,可以方便的与SVN等版本控制工具集成,这是我在Windows环境下集成的过程,与大家分享下,最近也比较缺分,呵呵

    JIRA中SVN插件

    Atlassian JIRA,作为一款强大的项目管理和问题跟踪工具,通过集成SVN插件,实现了与SVN的无缝对接,从而提升了开发团队的工作效率和协同能力。本文将深入探讨JIRA中的SVN插件,以及如何利用它来优化软件开发流程。 ...

Global site tag (gtag.js) - Google Analytics