У меня есть два веб-приложения (скажем, 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, чтобы он был доступен для общего доступа. ,Поэтому, когда я пытаюсь развернуть любой из 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)
Но все JAR-файлы, которыеTomcat жалуется на то, что находится в папке lib в C.jar. Есть ли способ сделать JAR сканирования Tomcat внутри C.jar. Я не уверен, правильно ли то, что я делаю. Я играл с Tomcat / Maven раньше, но никогда не вдавался в детали. Любая помощь будет оценена.