Eh bien, il y a toujours la solution de portillon. (Il ne doit rien faire avec le portillon, mais il peut être trouvé dans le wicket maven archetype.)
Utilisez une classe principale qui lance la jetée par programmation avec le projet en tant que contexte webapp. Cela devrait ramasser toutes les dépendances maven même dans la portée fournie sur tous les principaux IDE. Voici une telle 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 belle partie: vous pouvez lancer ceci comme une configuration d'exécution d'éclipse standard, y compris un débogage facile. L'inconvénient: vous avez besoin jetée comme une dépendance provided
supplémentaire:
<!-- 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>
Intéressant, je vais jeter un coup d'oeil. –
En effet, intéressant "contourner".+1 –