Configuration
The following options can be customized:
| Description | Default | |
|---|---|---|
| Port | The port used by the embedded server. | Random. | 
| Path | The context path. | / | 
| Webapp | The webapp path (relative to project root path). | src/main/webapp | 
| Hooks | Server listener function (see details below). | Empty list. | 
| Properties | Environment properties set before starting server and resetted after shutdown. | Empty list. | 
| Parent classpath | Override the parent classpath for the deployed application. | null | 
| Descriptor | Custom web.xml. | null | 
| Stop timeout | Set a graceful stop time. | 30000 | 
| Stop at shutdown | Enable/Disable server stop at shutdown. | true | 
| Base resource | The Jetty base resource (contains the static resources). | null | 
Here is an example (using JUnit Jupiter API) that creates a rule using a configuration object:
import com.github.mjeanroy.junit.servers.jetty.EmbeddedJettyConfiguration;
import com.github.mjeanroy.junit.servers.jupiter.JunitServerExtension;
import org.junit.jupiter.api.RegisterExtension;
class MyTest {
  private static final EmbeddedJettyConfiguration configuration = EmbeddedJettyConfiguration.builder()
    .withPath("/app")
    .withPort(8080)
    .withWebapp("/src/webapp")
    .withProperty("spring.profiles.active", "test")
    .withOverrideDescriptor("src/test/resources/WEB-INF/web.xml")
    .withParentClasspath(MyTest.class)
    .withStopTimeout(5000)
    .disableStopAtShutdown()
    .build());
  @RegisterExtension
  static JunitServerExtension extension = new JunitServerExtension(configuration);
  // Test suite...
}