1. util.DefaultSVNAnnotateHandler.java
package util; import java.io.File; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.wc.ISVNAnnotateHandler; public class DefaultSVNAnnotateHandler implements ISVNAnnotateHandler { private Map<Integer,String> lineAuthorMap = new HashMap<Integer,String>(); public void handleEOF() throws SVNException { // TODO Auto-generated method stub } public void handleLine(Date date, long revision, String author, String line) throws SVNException { } public void handleLine(Date date, long revision, String author, String line, Date mergedDate, long mergedRevision, String mergedAuthor, String mergedPath, int lineNumber) throws SVNException { lineAuthorMap.put(lineNumber, author); } public boolean handleRevision(Date date, long revision, String author, File contents) throws SVNException { // TODO Auto-generated method stub return false; } public Map<Integer, String> getLineAuthorMap() { return lineAuthorMap; } }
2. util.SVNUtil.java
package util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Map; import java.util.logging.Logger; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.auth.BasicAuthenticationManager; import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager; import org.tmatesoft.svn.core.io.SVNRepository; import org.tmatesoft.svn.core.wc.SVNClientManager; import org.tmatesoft.svn.core.wc.SVNRevision; public class SVNUtil { private static Logger logger = Logger.getLogger(SVNUtil.class.getName()); private static SVNClientManager getSVNClientManager(){ SVNClientManager svnClientManager = SVNClientManager.newInstance(); ISVNAuthenticationManager authManager = new BasicAuthenticationManager("xiao", "xiao"); svnClientManager.setAuthenticationManager(authManager ); return svnClientManager; } public static File getFileFromSVN(String filePath, long revision,String destFilePath) { File file = new File(destFilePath); SVNURL reponsitoryURL = null; FileOutputStream fos = null; try { reponsitoryURL = SVNURL.parseURIEncoded(filePath); fos = new FileOutputStream(file); SVNRepository reponsitory = getSVNClientManager().createRepository(reponsitoryURL, false); reponsitory.getFile("", revision, null, fos); } catch (Exception e) { throw new RuntimeException(e); }finally{ if(fos!=null){ try { fos.close(); } catch (IOException e) { logger.warning(e.getMessage()); } } } return file; } public static Map<Integer,String> getFileInfo(String filePath,long revision) throws SVNException{ SVNURL url = SVNURL.parseURIEncoded(filePath); SVNRevision pegRevision = SVNRevision.create(revision); SVNRevision startRevision = SVNRevision.create(0); SVNRevision endRevision = SVNRevision.create(revision); DefaultSVNAnnotateHandler handler = new DefaultSVNAnnotateHandler(); getSVNClientManager().getLogClient().doAnnotate(url, pegRevision, startRevision, endRevision, handler); return handler.getLineAuthorMap(); } }
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>svn</groupId> <artifactId>svn</artifactId> <packaging>jar</packaging> <version>0.0.1-SNAPSHOT</version> <name>svn</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.tmatesoft.svnkit</groupId> <artifactId>svnkit</artifactId> <version>1.8.5</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
相关推荐
JDK(Java Development Kit)是Jenkins运行的基础环境之一。正确安装并配置JDK是确保Jenkins能够顺利执行Java项目构建的前提。根据文档,安装过程包括: 1. **JDK的安装**:下载并运行JDK安装程序,如`jdk-6u10-rc2...
1. **在线安装**:如果你的计算机能够连接到互联网,最简单的方式是通过在线安装程序进行安装。这通常涉及访问SVN的官方网站或提供相应软件包的第三方平台,下载最新的安装包,然后按照向导的指示进行安装。安装过程...
3. svnkit.jar:这是一个关键的库文件,代表Subversion Kit,它是Java实现的SVN客户端库,用于与SVN服务器通信。它提供了丰富的API,使得开发者可以方便地在Java应用中集成SVN功能。 4. sqljet.1.0.4.jar:SQLJet是...
首先,我们需要安装Java Development Kit (JDK),因为Android应用主要使用Java语言编写。访问Oracle官方网站(http://www.oracle.com/technetwork/java/javase/downloads/index.html)下载适合您操作系统的JDK版本。...
安装Maven相对简单,下载Maven的压缩包后解压,并设置M2_HOME环境变量和PATH变量,使得可以在命令行中直接使用mvn命令。在Maven中,通常会有一个pom.xml文件用于定义项目依赖、插件、构建配置等。Maven的生命周期...
- **连接测试**: 使用客户端连接到服务器上的 SVN 仓库,并创建自己的工作区。 4. **Maven**: - **作用**: Maven 是一个项目管理和理解工具,帮助开发者更有效地构建和管理 Java 项目。 - **安装**: 解压 Maven ...
- 必需组件包括:“Subclipse Core”,“SVN Kit Library”,“Optional JNA Library”。 - 可选安装“Subclipse Integration for Mylyn”以获得更好的集成体验。 - 安装完毕后记得勾选“Add to Profile”以保存...
综上所述,jetty_svn插件将Jetty服务器和Subversion(SVN)的强大功能整合到了Eclipse开发环境中,通过简单的links安装方式,使得开发者能够在IDE内高效地管理Web应用和版本控制,提升开发效率。同时,插件的依赖...
- 将解压后的文件夹重命名为简单易懂的名称,比如将jdk-1.8.0_161重命名为jdk8。 - 配置环境变量,编辑/etc/profile文件,在文件末尾添加JAVA_HOME、PATH和CLASSPATH环境变量。 - 重新加载配置文件并验证环境变量...
1. **安装Java JDK**:首先确保已经安装了Java Development Kit (JDK)。 2. **配置Tomcat服务器**:Tomcat是一个免费开源的Servlet容器,支持JSP和Servlet技术。 3. **IDE选择**:推荐使用Eclipse或IntelliJ IDEA等...
首先,我们来看JDK(Java Development Kit),它是Java编程语言的开发环境,包含了编译器、调试器和其他工具,用于创建和运行Java应用程序。在1.6.0版本中,Java提供了稳定性和性能的优化。 1.1 简介:JDK是Java...
3. svnkit.jar:这是Subversion Kit的核心库,它是一个纯Java实现的Subversion客户端库,允许Eclipse通过Java接口与Subversion服务器进行交互,如提交、更新、检出等操作。 4. sqljet.1.0.4.jar:SQLJet是一款开源...
在开始Android开发之前,首先需要安装并配置Java Development Kit (JDK)。这是构建Android应用的基础,因为Android Studio和其它相关工具都是基于Java的。 - **下载与安装**:从Svn路径(此处未提供具体链接,应...
创建项目时,记得配置好SDK(Software Development Kit)和构建工具,例如JDK和Maven或Gradle。 编码过程中,IDEA的智能代码补全功能是其一大亮点。它能根据上下文提供类、方法、变量的自动补全,极大地提高了编写...
首先,Jdk 1.8,全称为Java Development Kit 1.8,是Java编程语言的开发和运行环境。Jdk包含了Java编译器、Java虚拟机(JVM)和Java类库,使得开发者能够编写、编译和运行Java程序。Jdk 1.8引入了诸多新特性,如...
1. **使用独立的SVN应用程序**:如TortoiseSVN,先从SVN仓库检出项目,然后在Eclipse中导入已检出的项目。 2. **使用Eclipse的SVN插件**:如Subversive或Subclipse,直接在Eclipse内完成检出操作,这使得版本控制与...
1. **检查系统需求**:确保你的Mac OS Mojave系统已经更新到最新版本,并且安装了Java Development Kit (JDK) 8或更高版本,因为JavaHL需要JDK来运行。 2. **获取依赖库**:JavaHL依赖于Apache APR(Apache ...