У меня есть два веб-приложения (скажем, A.war и B.war), которые используют некоторый общий фрагмент кода (скажем, C.jar) для обмена информацией. Итак, что я сделал в файле POM двух веб-приложений, я добавил JAR с «предоставленной областью».
<dependency>
<groupId>some.web.app</groupId>
<artifactId>C</artifactId>
<version>${project.version}</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
И я скопировал C.jar в папку lib Tomcat, чтобы он был общим. Поэтому, когда я пытаюсь развернуть любой файл войны, скопировав файл войны в папку 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)
Но все файлы JAR, на которые жалуется Tomcat, находятся в папке «lib» C.jar. Есть ли способ заставить Tomcat сканировать JAR-файлы внутри C.jar. Я не уверен, что то, что я делаю, правильно в первую очередь. Раньше я играл с Tomcat/Maven, но никогда не в этих деталях. Любая помощь будет оценена по достоинству.