1

I'm working on a legacy maven project and it uses embedded tomcat. Recently as part of fixing the security vulnerabilities, tomcat is upgraded to latest version 9.0.55. But surprisingly I don't see the corresponding version for the artifact tomcat-embed-logging-juli. We've already have the slf4j logging library for project. Do I really need the library tomcat-embed-logging-juli dependency as I don't have any logs written with servletContext log? Following is the relevant section from my pom.xml

<properties>        
    <tomcat.version>9.0.55</tomcat.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.30</version>
    </dependency>
    <!-- Tomcat -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>${tomcat.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-websocket</artifactId>
        <version>${tomcat.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-logging-juli</artifactId>
        <version>8.0.53</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <version>${tomcat.version}</version>
    </dependency>
Master Po
  • 1,497
  • 1
  • 23
  • 42

1 Answers1

0

I am just learning Java & it's dependencies. I ran into this issue when trying to follow this Oracle Template. I got this error:

Dependency 'org.apache.tomcat.embed:tomcat-embed-logging-juli:10.0.20' not found

So did some digging and It appears as though the original repo: org.apache.tomcat.embed » tomcat-embed-logging-juli lost support or moved to the core repo as the last update was for 7.0.109 in APR, 2021.
Which leads me to believe that this moved to the core tomcat: Maintained Repo: org.apache.tomcat » tomcat-juli

So, I was able to get a new repo working using the following:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.7</maven.compiler.source>
  <maven.compiler.target>1.7</maven.compiler.target>
  <tomcat.version>10.0.20</tomcat.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>${tomcat.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-juli</artifactId>
    <version>${tomcat.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <version>${tomcat.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jasper</artifactId>
    <version>${tomcat.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jasper-el</artifactId>
    <version>${tomcat.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jsp-api</artifactId>
    <version>${tomcat.version}</version>
  </dependency>
  <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
  </dependency>
</dependencies>

Again I am no expert, just an observation from basic research. Please let me know if this is wrong or needs adjustment.

Using:

IntelliJ IDEA: 2022.1.4
Java: 18
Tomcat: 10.0.20
Maven: 4.0.0
Maven Compiler: 1.7
JayRizzo
  • 3,234
  • 3
  • 33
  • 49