xml-api 依赖性的许可证问题

License issue with xml-apis dependency

问题: 我项目的所有依赖项都已解决。 将所有项目 jar 移动到 /lib 文件夹和本地 运行 Jetty 后,我遇到以下错误。

Error:
Internal error (java.io.IOException): Error occurred during processing zip file C:\Users\Dev.User\.m2\repository\xml-apis\xml-apis.4.01\xml-apis-1.4.01.jar: C:\dev\testProject\testProject-web\target\testProject-web-1.0-SNAPSHOT\WEB-INF\classes\license\LICENSE (The system cannot find the path specified)
java.io.IOException: Error occurred during processing zip file C:\Users\Dev.User\.m2\repository\xml-apis\xml-apis.4.01\xml-apis-1.4.01.jar: C:\dev\testProject\testProject-web\target\testProject-web-1.0-SNAPSHOT\WEB-INF\classes\license\LICENSE (The system cannot find the path specified)
    at org.jetbrains.jps.incremental.artifacts.instructions.JarBasedArtifactRootDescriptor.processEntries(JarBasedArtifactRootDescriptor.java:64)
    at org.jetbrains.jps.incremental.artifacts.instructions.JarBasedArtifactRootDescriptor.copyFromRoot(JarBasedArtifactRootDescriptor.java:83)
    at org.jetbrains.jps.incremental.artifacts.IncArtifactBuilder.build(IncArtifactBuilder.java:146)
    at org.jetbrains.jps.incremental.artifacts.IncArtifactBuilder.build(IncArtifactBuilder.java:35)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildTarget(IncProjectBuilder.java:1211)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1114)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1247)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1066)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:832)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:419)
    at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:183)
    at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:132)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:301)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:132)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0[=11=](BuildMain.java:219)
    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:834)
Caused by: java.io.FileNotFoundException: C:\dev\testProject\testProject-web\target\testProject-web-1.0-SNAPSHOT\WEB-INF\classes\license\LICENSE (The system cannot find the path specified)
    at java.base/java.io.FileOutputStream.open0(Native Method)
    at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
    at org.jetbrains.jps.incremental.artifacts.instructions.JarBasedArtifactRootDescriptor.process(JarBasedArtifactRootDescriptor.java:96)
    at org.jetbrains.jps.incremental.artifacts.instructions.JarBasedArtifactRootDescriptor.processEntries(JarBasedArtifactRootDescriptor.java:58)
    ... 17 more

Please perform full project rebuild (Build | Rebuild Project)

显示找不到许可证。依赖项本身包含许可证 url(我检查了 pom 文件它的依赖项),我检查了 pom(内部依赖项)文件中提到的标签中给出的 url 并且它正在工作 public.

依赖性URL:https://mvnrepository.com/artifact/xml-apis/xml-apis/1.4.01

POM 文件:https://repo1.maven.org/maven2/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.pom

许可证 url:https://www.apache.org/licenses/LICENSE-2.0.txt

尝试过:

  1. 正在删除 .m2 文件夹和 Maven 更新。
  2. 正在使缓存失效并重新启动

这不是Jetty问题,这里不涉及。

Jetty 也不依赖于 xml-apis-1.4.01.jar

首先,修复你的构建,你在其中做了一些非常尴尬的事情。

您的依赖项不应解压到您的 Web 应用程序的 WEB-INF/classes 目录中(这是您的堆栈跟踪中指示的目录)。

只应将它们复制到您的 WEB-INF/lib 目录,而不要尝试解压缩它们。

这应该发生在你的${project.basedir}/target/${project.build.finalName}/(目录)被打包到${project.basedir}/target/${project.build.finalName}.war之前(在maven的package阶段)