小编Jak*_*akg的帖子

通过SVN从Jenkins更新工作区时间歇"SVNException:svn:E175002:连接重置"

我有Jenkins(2.138.3)在虚拟机上运行.

在同一网络上的另一台PC上,我有一个Visual SVN Server(3.9.2).

间歇性地(可能是25%的时间),结账失败并出现以下错误:

ERROR: Failed to check out https://path/to/my/repository
org.tmatesoft.svn.core.SVNException: svn: E175002: Connection reset
svn: E175002: REPORT request failed on '/my/repository/!svn/vcc/default'
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:112)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:96)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:765)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:352)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:340)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:910)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:363)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1349)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:847)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.updateInternal(SvnNgAbstractUpdate.java:263)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.update(SvnNgAbstractUpdate.java:115)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:877)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:26)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:11)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1239)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
    at hudson.scm.subversion.CheckoutUpdater$SubversionUpdateTask.perform(CheckoutUpdater.java:133)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:168)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:176)
    at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:134)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:168)
    at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1041)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:1017)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:990)
    at hudson.FilePath.act(FilePath.java:1077)
    at hudson.FilePath.act(FilePath.java:1060)
    at …
Run Code Online (Sandbox Code Playgroud)

svn svnkit visualsvn-server jenkins

9
推荐指数
1
解决办法
968
查看次数

通过 JLink 创建的 JRE 缺少一些安全证书 (cacerts)

我使用 JLink 工具创建了一个缩小的 JRE

jlink --add-modules java.base,jdk.crypto.ec --output jre
Run Code Online (Sandbox Code Playgroud)

我创建了一个非常基本的应用程序,它连接到 https://www.example.com

当我使用 JDK 运行此应用程序时,一切正常。当我使用缩小的 JRE 运行它时,我得到以下信息:

Exception in thread "main" javax.net.ssl.SSLException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:320)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1313)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:408)
        at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
        at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
        at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
        at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334)
        at URLTest.printResponseCode(URLTest.java:68)
        at URLTest.main(URLTest.java:47)
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:102)
        at java.base/sun.security.validator.Validator.getInstance(Validator.java:181)
        at java.base/sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:300)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:176)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:189) …
Run Code Online (Sandbox Code Playgroud)

java jlink java-11 corretto

7
推荐指数
1
解决办法
422
查看次数

DateTimeFormatter-严格vs宽松的意外行为

我有一些textDateTimeFormatter在解析样式为Strict-而不是的情况下才由a 解析Lenient

这似乎与我期望的行为相反?

例:

String pattern = "ddMMyyHH:mm:ss";
String text = "02011104:21:32";

System.out.println(MessageFormat.format("Strict - {0}", new DateTimeFormatterBuilder().parseStrict().appendPattern(pattern).toFormatter().parse(text)));
System.out.println(MessageFormat.format("Lenient - {0}", new DateTimeFormatterBuilder().parseLenient().appendPattern(pattern).toFormatter().parse(text)));
Run Code Online (Sandbox Code Playgroud)

输出:

Strict - {},ISO resolved to 2011-01-02T04:21:32
Exception in thread "main" java.time.format.DateTimeParseException: Text '02011104:21:32' could not be parsed at index 8
Run Code Online (Sandbox Code Playgroud)

java datetime java.time

6
推荐指数
1
解决办法
76
查看次数

Jenkins Subversion Checkout 失败 - “E175002:CRLF 预期在块的末尾:-1/-1”

我有一个 Jenkins v2.107.2 实例(作为 Windows 服务运行),它正在通过 Subversion 从 Visual SVN 服务器(在单独的 Windows PC 上)检出多个项目。

其中一个项目(最大的 - ~2.7GB)偶尔会出现,但在尝试结帐时始终失败并出现以下错误:

ERROR: Failed to check out https://example.com/myrepo
org.tmatesoft.svn.core.SVNException: svn: E175002: CRLF expected at end of chunk: -1/-1
svn: E175002: REPORT request failed on '/svn/REPO/!svn/vcc/default'
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:112)
Run Code Online (Sandbox Code Playgroud)

另外,在查看Visual SVN Server的日志时,可以看到以下内容:

Error writing base64 data: The timeout specified has expired  [500, #70007]
A failure occurred while driving the update report editor  [500, #70007]
Provider encountered an error while streaming a REPORT response.  [500, #0]
Run Code Online (Sandbox Code Playgroud)

以前,将 Jenkins …

svn visualsvn-server jenkins

5
推荐指数
1
解决办法
1537
查看次数

OSX/MacOS 相当于 Windows %PROGRAMDATA% 环境变量

我希望我的应用程序将一些数据(例如配置、缓存、许可证等)写入共享的、所有用户可访问的位置。

在 Windows 上我已经这样做了%PROGRAMDATA%

在 MacOS 上,我的研究建议使用该Library/Application Support目录。

虽然特定于用户的~/Library/Application Support工作正常,但非特定于用户的/Library/Application Support似乎不可写入?

例子:

Files.writeString(Paths.get("/Library/Application Support/myfile.txt"), "hello world")
Run Code Online (Sandbox Code Playgroud)

抛出异常:

java.nio.file.AccessDeniedException: /Library/Application Support/myfile.txt
Run Code Online (Sandbox Code Playgroud)

此类数据有更好的目的地吗?

java macos file file-location

5
推荐指数
1
解决办法
3722
查看次数

dependency-check-maven - 抑制不起作用

我正在尝试将某些已经承认风险的库列入白名单 - 理想情况下我想从内部执行此操作pom.xml,但看来这是不可能的。

我创建了一个带有依赖项 (H2) 的简单项目,该项目具有出色的 CVE,并dependency-check-maven配置了一个suppressions文件以忽略该依赖项,使用从Dependency-Check-Report

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.me</groupId>
    <artifactId>test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
                <version>6.5.3</version>
                <configuration>
                    <suppressionFile>path\to\owasp-suppressions.xml</suppressionFile>
                    <failBuildOnCVSS>8</failBuildOnCVSS>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.200</version>
        </dependency>
    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

owasp-suppressions.xml:

<?xml version="1.0" encoding="UTF-8"?>
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
   <suppress>
      <notes><![CDATA[
      file name: h2-1.4.200.jar
      ]]></notes>
      <packageUrl regex="true">^pkg:maven/com\.h2database/h2@.*$</packageUrl>
      <cpe>cpe:/a:h2database:h2</cpe>
   </suppress>
</suppressions>
Run Code Online (Sandbox Code Playgroud)

但尽管如此,构建仍然失败:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] …
Run Code Online (Sandbox Code Playgroud)

java owasp maven maven-dependency-check-plugin

2
推荐指数
1
解决办法
7549
查看次数

访问原语时,“MethodHandle”比反射慢

我想以尽可能高效的方式通过反射调用方法。

\n

该方法返回一个原语long

\n

我已经使用反射和MethodHandles 实现了这一点。

\n

我期待MethodHandle更快,因为:

\n
    \n
  • MethodHandle这就是s的好处之一
  • \n
  • 当您体验反射时,它可以避免装箱/拆箱
  • \n
\n

但在我的所有基准测试中,MethodHandles 速度较慢(~2-5% 左右)。

\n

采用以下 JMH 基准测试:

\n
import org.openjdk.jmh.annotations.*;\n\nimport java.lang.invoke.MethodHandle;\nimport java.lang.invoke.MethodHandles;\nimport java.lang.reflect.Method;\nimport java.util.concurrent.TimeUnit;\nimport java.util.concurrent.atomic.AtomicLong;\n\n@BenchmarkMode(Mode.AverageTime)\n@OutputTimeUnit(TimeUnit.NANOSECONDS)\n@Warmup(iterations = 1, time = 100, timeUnit = TimeUnit.MILLISECONDS)\n@Measurement(iterations = 5, time = 10, timeUnit = TimeUnit.SECONDS)\n@State(Scope.Benchmark)\npublic class AccessorBenchmark {\n    private POJO source;\n\n    private ReflectionAccessor reflectionAccessor;\n    private MethodHandleAccessor methodHandleAccessor;\n\n    @Setup\n    public void setup() throws ReflectiveOperationException {\n        source = new POJO();\n\n        final Method …
Run Code Online (Sandbox Code Playgroud)

java reflection performance methodhandle

1
推荐指数
1
解决办法
85
查看次数