java.lang.NoClassDefFoundError: javax/servlet/Servlet
Closed this issue · 1 comments
TheBozzz34 commented
I am trying to use this library to create a UPnP service and am encountering a NoClassDefFoundError for javax/servlet/Servlet.
I've following the admittedly rough documentation and have this so far:
upnpService = new UpnpServiceImpl(new DefaultUpnpServiceConfiguration());
logger.info("UPNP service created, searching for devices, please wait...");
ControlPoint controlPoint = upnpService.getControlPoint();
upnpService.startup();
if (controlPoint != null) {
controlPoint.search(new STAllHeader());
} else {
logger.error("ControlPoint is null, unable to perform search.");
}
I'm using jupnp 2.7.1 and Java 17.
wborn commented
If you want to use Jetty with jUPnP you have to manually add a few dependencies to your POM:
<properties>
<jetty.version>9.4.53.v20231009</jetty.version>
<servlet.api.version>3.1.0</servlet.api.version>
<slf4j.version>1.7.36</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.api.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
</dependencies>