复制资源警告

Replicate resource warnings

如何在 Web 应用程序加载期间解决这些警告:

WARNING  Replicate resource: zkbind
Overwrite jar:file:<path-to>/webapp/WEB-INF/lib/zkbind-9.6.0.1.jar!/metainfo/zk/config.xml
with jar:file:<path-to>/webapp/WEB-INF/lib/zkbind-9.6.0.1.jar!/metainfo/zk/config.xml   [main] at org.zkoss.util.resource.ClassLocator.getDependentXMLResources()

WARNING  Replicate resource: zk
Overwrite jar:file:<path-to>/webapp/WEB-INF/lib/zk-9.6.0.1.jar!/metainfo/zk/config.xml
with jar:file:<path-to>/webapp/WEB-INF/lib/zk-9.6.0.1.jar!/metainfo/zk/config.xml   [main] at org.zkoss.util.resource.ClassLocator.getDependentXMLResources()

WARNING  Replicate resource: zul
Overwrite jar:file:<path-to>/webapp/WEB-INF/lib/zul-9.6.0.1.jar!/metainfo/zk/zk.xml
with jar:file:<path-to>/webapp/WEB-INF/lib/zul-9.6.0.1.jar!/metainfo/zk/zk.xml   [main] at org.zkoss.util.resource.ClassLocator.getDependentXMLResources() 

我唯一的 ZK 依赖是:

<dependency>
  <groupId>org.zkoss.zk</groupId>
  <artifactId>zkbind</artifactId>
  <version>9.6.0.1</version>
</dependency>

运行 码头 9.4。 web.xml 中没有 ZK 相关的 servlet 映射 - 通过 zkwebfragment.jar

自动配置

Maven 依赖关系树:

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ PROJECT ---
[INFO] <project-artifact>:jar:1.0.0-SNAPSHOT
[INFO] +- org.slf4j:slf4j-jdk14:jar:1.7.30:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] +- org.eclipse.jetty:jetty-annotations:jar:9.4.30.v20200611:compile
[INFO] |  +- org.eclipse.jetty:jetty-plus:jar:9.4.30.v20200611:compile
[INFO] |  |  \- org.eclipse.jetty:jetty-jndi:jar:9.4.30.v20200611:compile
[INFO] |  |     \- org.eclipse.jetty:jetty-util:jar:9.4.30.v20200611:compile
[INFO] |  +- org.eclipse.jetty:jetty-webapp:jar:9.4.30.v20200611:compile
[INFO] |  |  +- org.eclipse.jetty:jetty-xml:jar:9.4.30.v20200611:compile
[INFO] |  |  \- org.eclipse.jetty:jetty-servlet:jar:9.4.30.v20200611:compile
[INFO] |  |     \- org.eclipse.jetty:jetty-security:jar:9.4.30.v20200611:compile
[INFO] |  |        \- org.eclipse.jetty:jetty-server:jar:9.4.30.v20200611:compile
[INFO] |  |           +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
[INFO] |  |           +- org.eclipse.jetty:jetty-http:jar:9.4.30.v20200611:compile
[INFO] |  |           \- org.eclipse.jetty:jetty-io:jar:9.4.30.v20200611:compile
[INFO] |  +- javax.annotation:javax.annotation-api:jar:1.3:compile
[INFO] |  +- org.ow2.asm:asm:jar:7.3.1:compile
[INFO] |  \- org.ow2.asm:asm-commons:jar:7.3.1:compile
[INFO] |     +- org.ow2.asm:asm-tree:jar:7.3.1:compile
[INFO] |     \- org.ow2.asm:asm-analysis:jar:7.3.1:compile
[INFO] +- org.zkoss.zk:zkbind:jar:9.6.0.1:compile
[INFO] |  +- org.zkoss.zk:zul:jar:9.6.0.1:compile
[INFO] |  |  \- org.zkoss.zk:zk:jar:9.6.0.1:compile
[INFO] |  |     +- org.zkoss.common:zweb:jar:9.6.0.1:compile
[INFO] |  |     |  \- org.zkoss.common:zcommon:jar:9.6.0.1:compile
[INFO] |  |     |     +- org.zkoss.common:zel:jar:9.6.0.1:compile
[INFO] |  |     |     \- org.apache-extras.beanshell:bsh:jar:2.0b6:compile
[INFO] |  |     +- org.zkoss.zk:zkwebfragment:jar:9.6.0.1:compile
[INFO] |  |     \- commons-fileupload:commons-fileupload:jar:1.4:compile
[INFO] |  |        \- commons-io:commons-io:jar:2.6:compile
[INFO] |  \- org.javassist:javassist:jar:3.28.0-GA:compile
[INFO] +- commons-lang:commons-lang:jar:2.6:compile
[INFO] +- org.bouncycastle:bcprov-jdk15on:jar:1.60:compile
[INFO] +- com.h2database:h2:jar:1.3.170:compile
[INFO] +- org.jdom:jdom2:jar:2.0.6:compile
[INFO] +- org.json:json:jar:20180813:compile
[INFO] +- org.apache.ant:ant-jsch:jar:1.10.6:compile
[INFO] |  +- org.apache.ant:ant:jar:1.10.6:compile
[INFO] |  |  \- org.apache.ant:ant-launcher:jar:1.10.6:compile
[INFO] |  +- com.jcraft:jsch:jar:0.1.55:compile
[INFO] |  \- com.sun:tools:jar:1.8.0:system
[INFO] +- com.ibm.icu:icu4j:jar:70.1:runtime
[INFO] \- junit:junit:jar:4.13:test
[INFO]    \- org.hamcrest:hamcrest-core:jar:1.3:test

这些消息通常意味着您的应用程序正在导入同一文件的多个版本,或者这些文件中的每一个都被导入了多次。 从本例中的消息来看,您似乎有相同的文件位于相同的位置或被相同的文件覆盖。

您是在什么情况下看到这些文件的? (IDE、建筑物、运行 服务器等) 如果您在 IDE (Eclipse?) 中看到这些,您可能遇到了项目配置问题,例如通过不同路径两次导入相同的库文件夹。

此外,zkbind 依赖项本身会传递加载其他 ZK 依赖项。 我建议 运行 在本地使用 mvn clean dependency:tree 命令来查看哪些依赖项被添加到您的应用程序,以及来自哪个父项。