【发布时间】:2014-02-06 17:45:39
【问题描述】:
我在使用 SVN 作为 SCM 通过 Jenkins 运行 maven 发布插件时遇到问题。
在检查大型项目时,我收到以下错误,我搜索了高低以寻找解决方案,但尚未提出任何解决方案,这似乎是使用 SVN Kit 的 Java SVN 客户端的问题。
svn: E175002: SSL peer shut down incorrectly
12:37:17 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
12:37:17 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:777)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)
12:37:17 ... 34 more
12:37:17 Caused by: svn: E175002: REPORT request failed on '/svn/mx/!svn/vcc/default'
12:37:17 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:775)
12:37:17 ... 35 more
12:37:17 Caused by: svn: E175002: SSL peer shut down incorrectly
12:37:17 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:109)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:526)
12:37:17 ... 35 more
12:37:17 Caused by: javax.net.ssl.SSLException: SSL peer shut down incorrectly
12:37:17 at com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:408)
12:37:17 at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:360)
12:37:17 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:830)
12:37:17 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:787)
12:37:17 at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
12:37:17 at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
12:37:17 at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
12:37:17 at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
12:37:17 at org.tmatesoft.svn.core.internal.util.ChunkedInputStream.read(ChunkedInputStream.java:75)
12:37:17 at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:221)
12:37:17 at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
12:37:17 at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:90)
12:37:17 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
12:37:17 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
12:37:17 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
12:37:17 at java.io.InputStreamReader.read(InputStreamReader.java:167)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.XMLReader.read(XMLReader.java:39)
12:37:17 at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
12:37:17 at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XMLEntityScanner.java:487)
12:37:17 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2688)
12:37:17 at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
12:37:17 at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
12:37:17 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
12:37:17 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
12:37:17 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
12:37:17 at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
12:37:17 at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
12:37:17 at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:911)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:876)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:220)
12:37:17 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:480)
Jenkins 允许我为标准作业重试结帐多次,所以这不是问题,因为我只是将重试次数设置为 5 并且它最终到达那里。
但是,当使用Maven Release Plugin进行发布时,在签出标签的阶段,SVN签出失败,整个发布失败。
我的 Maven 发布插件配置如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<providerImplementations>
<svn>javasvn</svn>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>com.google.code.maven-scm-provider-svnjava</groupId>
<artifactId>maven-scm-provider-svnjava</artifactId>
<version>2.0.6</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
已选择该 SVN 版本以匹配 Jenkins 使用的版本。
所以我的问题是:
- 如何修复该错误,我可以在任何地方设置请求超时,因为这似乎只是请求超时过快的情况。我在文档中找不到任何内容。
- 我可以告诉 Maven 发布插件在签出标签时重试签出多次吗?
【问题讨论】:
-
您是否使用 Java 6 运行构建?
-
您能否尝试使用 Java 7 设置您的构建并执行新的 Maven 版本?可能问题与 SVNKit 和 Java 6 的错误有关。
-
嗯,这是一个已知的错误吗?我们正在全面使用 Java 6,无论如何都无法升级以修复此错误
-
无论如何似乎是一个不同的错误
标签: maven svn jenkins maven-release-plugin svnkit