Java Tomcat不是';t在罐子中扫描罐子

Java Tomcat不是';t在罐子中扫描罐子,java,maven,tomcat,web-applications,tomcat9,Java,Maven,Tomcat,Web Applications,Tomcat9,我有两个webapp(比如A.war和B.war),它们依靠一些公共代码(比如C.jar)来交换信息。因此,我在两个webapps的POM文件中添加了范围为“provided”的JAR some.web.app C ${project.version} 罐子 假如 我将C.jar复制到Tomcat的lib文件夹中,以便共享。因此,当我尝试部署任何war文件时,通过将war文件复制到webapps文件夹并启动Tomcat,我在启动时看到一系列缺少的JAR错误: 25-Oct-2019 15:0

我有两个webapp(比如A.war和B.war),它们依靠一些公共代码(比如C.jar)来交换信息。因此,我在两个webapps的POM文件中添加了范围为“provided”的JAR


some.web.app
C
${project.version}
罐子
假如
我将C.jar复制到Tomcat的lib文件夹中,以便共享。因此,当我尝试部署任何war文件时,通过将war文件复制到webapps文件夹并启动Tomcat,我在启动时看到一系列缺少的JAR错误:

25-Oct-2019 15:07:43.752 WARNING [main] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/H:/apache-tomcat-9.0.27/lib/logback-classic-1.1.3.jar] from classloader hierarchy
    java.io.FileNotFoundException: H:\apache-tomcat-9.0.27\lib\logback-classic-1.1.3.jar (The system cannot find the file specified)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:225)
25-Oct-2019 15:07:43.752警告[main]org.apache.tomcat.util.scan.StandardJarScanner.ProcessURL未能从类加载器层次结构扫描[file:/H:/apache-tomcat-9.0.27/lib/logback-classic-1.1.3.jar]
java.io.FileNotFoundException:H:\apache-tomcat-9.0.27\lib\logback-classic-1.1.3.jar(系统找不到指定的文件)
位于java.util.zip.ZipFile.open(本机方法)
位于java.util.zip.ZipFile(ZipFile.java:225)

但是Tomcat抱怨的所有jar都在C.jar的“lib”文件夹中。有没有办法在C.jar中创建Tomcat扫描jar。首先,我不确定我所做的是否正确。我以前和Tomcat/Maven一起玩过,但从未涉及过这个细节。任何帮助都将不胜感激。

我在Tomcat的context.xml中将JARScanner下的scanManifest设置设置为true。我把它设为false,错误就消失了

<JarScanner scanAllDirectories="true" scanAllFiles="true" scanBootstrapClassPath="true" scanClassPath="true" scanManifest="false" />

我在Tomcat的context.xml中将JARScanner下的scanManifest设置设置为true。我把它设为false,错误就消失了

<JarScanner scanAllDirectories="true" scanAllFiles="true" scanBootstrapClassPath="true" scanClassPath="true" scanManifest="false" />


jar是否需要是同一个实例,比如在运行时拥有公共变量?@CarlosLópezMarí你好,是的,我需要。有大量的对象是在运行时创建的,需要保存。以前我在WAR的每个类路径中都有它,它们都实例化了自己的对象,所以没有任何持久性。你的意思是你需要更多的信息吗?我正在将依赖项添加到tomcat/lib文件夹中,并删除my.m2中的jar,它仍在将源代码下载到我的存储库中。。。删除“scoped”会阻止从lib文件夹下载依赖项并读取它…可能是读取权限问题?您是否需要jar是同一个实例,比如,在运行时具有公共变量?@CarlosLópezMarí你好,是的,我需要。有大量的对象是在运行时创建的,需要保存。以前我在WAR的每个类路径中都有它,它们都实例化了自己的对象,所以没有任何持久性。你的意思是你需要更多的信息吗?我正在将依赖项添加到tomcat/lib文件夹中,并删除my.m2中的jar,它仍在将源代码下载到我的存储库中。。。删除“scoped”会阻止依赖项下载,并且会从lib文件夹读取该依赖项…可能是读取权限问题?