微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml-apis 依赖项的许可证问题

如何解决xml-apis 依赖项的许可证问题

问题: 我的项目的所有依赖项都得到了解决。 将所有项目 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\1.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\1.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$0(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$1.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,并且它正在公开工作。

依赖 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

许可证网址: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 阶段)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。