0

Warnings NG プラグインを使用して、Jenkins で Maven コンパイルからの Java Xlint 警告を記録しようとしています。Jenkins は Windows 上で実行されています。パイプラインのステップは次のとおりです。

recordIssues aggregatingResults: true, enabledForFailure: true, skipPublishingChecks: true, sourceCodeEncoding: 'UTF-8', tools: [java(), mavenConsole()]

残念ながら、記録は次の例外で失敗します:

java.nio.file.InvalidPathException: Illegal char <:> at index 2: /D:/jenkins/home/workspace/test-job/build/test-project/src/test/java/com/test/DummyClass.java
    at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
    at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
    at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
    at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
    at java.base/java.nio.file.Path.of(Path.java:147)
    at java.base/java.nio.file.Paths.get(Paths.java:69)
    at io.jenkins.plugins.analysis.core.util.AffectedFilesResolver$RemoteFacade.isInWorkspace(AffectedFilesResolver.java:188)
    at io.jenkins.plugins.analysis.core.util.AffectedFilesResolver$RemoteFacade.isInWorkspace(AffectedFilesResolver.java:184)
    at io.jenkins.plugins.analysis.core.util.AffectedFilesResolver.copyAffectedFilesToBuildFolder(AffectedFilesResolver.java:122)
    at io.jenkins.plugins.analysis.core.util.AffectedFilesResolver.copyAffectedFilesToBuildFolder(AffectedFilesResolver.java:106)
    at io.jenkins.plugins.analysis.core.steps.IssuesScanner.copyAffectedFiles(IssuesScanner.java:170)
    at io.jenkins.plugins.analysis.core.steps.IssuesScanner.postProcessReport(IssuesScanner.java:121)
    at io.jenkins.plugins.analysis.core.steps.IssuesScanner.scan(IssuesScanner.java:97)
    at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.scanWithTool(IssuesRecorder.java:765)
    at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.record(IssuesRecorder.java:716)
    at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.perform(IssuesRecorder.java:697)
    at io.jenkins.plugins.analysis.core.steps.RecordIssuesStep$Execution.run(RecordIssuesStep.java:1109)
    at io.jenkins.plugins.analysis.core.steps.RecordIssuesStep$Execution.run(RecordIssuesStep.java:1067)
    at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)

先頭のスラッシュがこの例外を引き起こしているようですが、Maven コンパイラ プラグインが警告を報告する方法は次のとおりです。

[WARNING] /D:/jenkins/home/workspace/test-job/build/test-project/src/test/java/com/test/DummyClass.java:[58,27] DeprClass() in com.test.DeprClass has been deprecated

私は何か間違ったことをしていますか?実際には、警告のパスが無効であるため、Maven コンパイラ プラグインのバグのように見えます。しかし、これが現在の動作方法であるため、警告 NG プラグインはそれで動作できるはずです。そうではありませんか? Maven コンパイラ プラグインまたは警告 NG プラグインを相互に理解するように調整する方法はありますか?

4

0 に答える 0