Я пишу простой веб-сервис Restful с использованием Jersey и Embedded tomcat.
Как включить внутренние журналы и журналы доступа для встроенного сервера Tomcat.
Вот пом. xml зависимостей и основной класс, который настраивает встроенный Tomcat:
пом. xml зависимости
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.53</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
Приложение. java
package webservice.embedded.tomcat;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Wrapper;
import org.apache.catalina.startup.Tomcat;
import java.io.File;
public class App {
public static void main(String[] args) throws LifecycleException {
Tomcat tomcat = new Tomcat();
tomcat.setPort(8085);
Context ctx = tomcat.addContext("/webservice_with_embedded_tomcat", new File(".").getAbsolutePath());
Wrapper servletWrapper = Tomcat.addServlet(ctx, "Jersey_WebService_Servlet", "org.glassfish.jersey.servlet.ServletContainer");
ctx.addServletMappingDecoded("/*", "Jersey_WebService_Servlet");
servletWrapper.addInitParameter("javax.ws.rs.Application", "webservice.embedded.tomcat.config.AppConfig");
tomcat.start();
tomcat.getServer().await();
}
}