У меня есть следующие 2 класса, которые используют пакет Spark, и которые запускают сервер через Springboot. < /p>
package server;
import static spark.Spark.get;
import static spark.Spark.port;
import static spark.Spark.post;
import phone.PhoneSystem;
public class Server
{
public static void run()
{
port(4567);
try(PhoneSystem phone = new PhoneSystem())
{
get("/voice", (request, response) ->
{
return phone.startupMessage(request, response);
});
post("/process", (request, response) ->
{
return phone.messageLoop(request, response);
});
}
}
}
< /code>
package server;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication
{
public static void main(String[] args)
{
SpringApplication.run(MyApplication.class, args);
Server.run();
}
}
< /code>
I am trying to run the server using the following command:
mvn exec:java -Dexec.mainClass="server.MyApplication"
< /code>
But it is giving me the following error output:
java.lang.NoClassDefFoundError: spark/embeddedserver/jetty/JettyHandler
at spark.embeddedserver.jetty.EmbeddedJettyFactory.create (EmbeddedJettyFactory.java:51)
at spark.embeddedserver.EmbeddedServers.create (EmbeddedServers.java:80)
at spark.Service.lambda$init$2 (Service.java:624)
at java.lang.Thread.run (Thread.java:1447)
Caused by: java.lang.ClassNotFoundException: spark.embeddedserver.jetty.JettyHandler
at org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader.loadClass (URLClassLoaderBuilder.java:211)
at java.lang.ClassLoader.loadClass (ClassLoader.java:490)
at spark.embeddedserver.jetty.EmbeddedJettyFactory.create (EmbeddedJettyFactory.java:51)
at spark.embeddedserver.EmbeddedServers.create (EmbeddedServers.java:80)
at spark.Service.lambda$init$2 (Service.java:624)
at java.lang.Thread.run (Thread.java:1447)
< /code>
I tried switching to Spark 3.0.0 in order to fix this problem but it seems that this version of Spark is not available on Maven Central. I also tried removing the Jetty dependencies and tried to use snapshot versions within a repository in the pom.xml file but I still get the same error messages.
For reference I am using the following dependencies in my pom.xml file:
com.sparkjava
spark-core
2.9.4
org.eclipse.jetty
jetty-server
org.eclipse.jetty
jetty-servlet
9.4.44.v20210927
Подробнее здесь: https://stackoverflow.com/questions/797 ... when-runni