Bene c'è sempre la soluzione wicket. (Non deve fare nulla con wicket, ma può essere trovato nel wicket maven archetype.)
Utilizzare una classe principale che avvia il molo a livello di codice con il progetto come contesto webapp. Questo dovrebbe raccogliere tutte le dipendenze di Maven anche in ambito previsto su tutti i principali IDE. Ecco un tale classe:
public class Start{
private static final Logger LOG = Logger.getLogger(Start.class);
public static void main(final String[] args) throws Exception{
LOG.addAppender(new ConsoleAppender(new SimpleLayout(), "system.out"));
final Server server = new Server();
final SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(1000 * 60 * 60);
connector.setSoLingerTime(-1);
connector.setPort(9090);
server.setConnectors(new Connector[] { connector });
final WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
server.addHandler(bb);
try{
LOG.info(//
">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP" //
);
server.start();
System.in.read();
LOG.info(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch(final Exception e){
LOG.error("Something bad happened", e);
System.exit(100);
}
}
// CHECKSTYLE:ON
}
La parte bella: è possibile avviare questo come una configurazione di esecuzione eclissi standard, compreso facile il debugging. Il rovescio della medaglia: è necessario molo come un ulteriore provided
dipendenza:
<!-- JETTY DEPENDENCIES FOR TESTING -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>${jetty.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>${jetty.version}</version>
<scope>provided</scope>
</dependency>
fonte
2010-10-06 14:07:39
Interessante, darò un'occhiata. –
In effetti, interessante "aggirare".+1 –