Overriding the jetty port used on
mvn jetty:run was always something that annoyed me…
and that was due to my solution which had been to alter the project’s pom adding:
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>9090</port> <maxIdleTime>60000</maxIdleTime> </connector>
One problem with this is that i only need this on one of my dev machines (where the default 8080 port is
already occupied) and additionally this is not something that one would commit and enforce it to others.
It’s just plain wrong.
~/.m2/settings.xmlof the machine
in question, we can add
<profile> <id>override-jetty-port</id> <activation> <activeByDefault>true</activeByDefault> </activation> <!-- something to change the port here --> </profile>
But the problem is that it’s not easy to figure out the ‘something to change the port here’ part.
Jetty’s docs talk about the jetty.port property but it must be a system property, i.e. adding
<properties> <jetty.port>8084</jetty.port> </properties>
doesn’t do the trick.
that let’s define a default value of 8080 for it inside the pom, and then let’s override this in our settings.xml !
But of course, it doesn’t feel right + i’d have to modify too many poms to go unnoticed by others…
export MAVEN_OPTS="-Xmx768m -Xms64m -Djetty.port=9090"
is all that it takes… Aargggggg…