Last active
June 17, 2019 14:49
-
-
Save kasonyang/f3d8364161144b0c49f9caf3a7b42272 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#repository http://maven.aliyun.com/nexus/content/groups/public/ | |
#dependency org.eclipse.jetty:jetty-server:9.4.12.v20180830 | |
import org.eclipse.jetty.server.Handler; | |
import org.eclipse.jetty.server.Server; | |
import org.eclipse.jetty.server.ServerConnector; | |
import org.eclipse.jetty.server.handler.DefaultHandler; | |
import org.eclipse.jetty.server.handler.HandlerList; | |
import org.eclipse.jetty.server.handler.ResourceHandler; | |
val entries = [ | |
8000:"/path/to/project1", | |
8001:"/path/to/project2" | |
]; | |
val host = "0.0.0.0"; | |
foreach(entries.entrySet() as e) { | |
val port = e.getKey(); | |
val path = e.getValue(); | |
val thread = new Thread(new HServer(host,port,path)); | |
thread.start(); | |
println("${host}:${port} => ${path}"); | |
} | |
while(true){ | |
Thread.sleep(1000000); | |
} | |
static class HServer implements Runnable { | |
private String host; | |
private int port; | |
private String path; | |
constructor(String host,int port,String path) { | |
this.host = host; | |
this.port = port; | |
this.path = path; | |
} | |
override public void run() { | |
val server = new Server(); | |
val connector = new ServerConnector(server); | |
connector.setHost(host); | |
connector.setPort(port); | |
server.addConnector(connector); | |
var resource_handler = new ResourceHandler(); | |
resource_handler.setDirectoriesListed(true); | |
resource_handler.setWelcomeFiles(new String[]{"index.html"}); | |
resource_handler.setResourceBase(path); | |
var handlers = new HandlerList(); | |
handlers.setHandlers(<Handler>[resource_handler, new DefaultHandler()]); | |
server.setHandler(handlers); | |
try { | |
server.start(); | |
server.join(); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment