Что за помойка в проекте? Изучи мавен, посмотри какая структура у стандартного мавеновского проекта.
Если используешь Jetty, то можно так (при условии, что структура проекта у тебя нормальная, а не как щас):
1) Создай в папке src/main/resources папку, с именем webapp, например
2)
// Application.java
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import javax.servlet.Servlet;
class Application implements Runnable {
Server server;
ServletContextHandler handler;
public Application() {
server = new Server(8080);
handler = new ServletContextHandler(ServletContextHandler.SESSIONS);
server.setHandler(handler);
}
@Override
void run() {
try {
server.start();
server.join();
} finally {
server.destroy();
}
}
void addServlet(String path, Servlet servlet) {
handler.addServlet(new ServletHolder(servlet), path);
}
void addServlet(String path, Class<? extends Servlet> servletClass) {
handler.addServlet(new ServletHolder(servletClass), path);
}
}
// Main.java
import org.eclipse.jetty.servlet.DefaultServlet;
public class Main {
public static void main(String args[]) {
Application app = new Application();
app.handler.setContextPath("/");
app.handler.setResourceBase(Main.class.classLoader.getResource("webapp").toExternalForm());
app.handler.addServlet("/*", DefaultServlet.class);
app.handler.addServlet("/api/v1/*", JerseyServlet.class);
app.handler.addServlet("/ws/*", WSServlet.class);
app.run();
}
}
3) Собирай всё в jar-ник, в манифесте пропиши главный файл. Вообще, я собирал всё это градлом с плагином application:
apply plugin:'application'
...
mainClassName = "your.package.app.Main"
PS код был на Groovy, я переписал, но мб где-то мог накосячить.