How to set server port with org.eclipse.jetty:jetty-maven-plugin?

I am currently setting the port via a jetty.xml file and I've been trying to figure out from the new documentation how to actually define an httpConnector through the Maven plugin's configuration. The docs on Eclipse's site seem a bit vague on it and I've been trying to figure this out for a while, thus ending up using a jetty.xml. I'd like to find out the proper way to do this now.

I'm currently using org.eclipse.jetty:jetty-maven-plugin:9.2.1.v20140609.


The jetty-maven-plugin documentation (for jetty 11 at the time of this answer - update) states that you can either configure the httpConnector element in the pom.xml file to setup the ServerConnector preferences or use the jetty.http.port system property to change the port or use the Jetty descriptor i.e. the way you are doing it actually.

Then you have several options:

(Java) System Property:

Change the port when just running your application through the mvn command:

mvn jetty:run -Djetty.http.port=9999

(Maven) Project Property:

  1. Set the property inside your project pom.xml descriptor file:

     <properties>
       <jetty.http.port>9999</jetty.http.port>
     </properties>
    
  2. Then just run your application through the Jetty plugin and the port will be picked up automatically:

    mvn jetty:run

(Maven) Jetty Plugin Configuration:

Set the port in your plugin declaration inside the pom.xml file:

<build>
  <plugins>
    <plugin>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>9.2.1.v20140609</version>
      <configuration>
        <httpConnector>
          <!--host>localhost</host-->
          <port>9999</port>
        </httpConnector>
      </configuration>
    </plugin>
  </plugins>
</build>

EDIT

In new versions of jetty-maven-plugin, jetty.http.port is the default port property and jetty.port won't work as in previous plugin versions.


Run following command: mvn jetty:run -Djetty.port=9999

I guess mvn jetty:run -Djetty.http.port=9999 is deprecated. It didn't work for me.


You may configure the port through the pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.2.1.v20140609</version>
            <configuration>
                <httpConnector>
                    <port>9999</port>
                </httpConnector>
            </configuration>
        </plugin>
    </plugins>
</build>

This works for me, confirmed as I am currently debugging the server in my chrome on port 8088.

 mvn jetty:run -Dhttp.port=8088