Acabo de tropezar con un problema similar y quería escribir una respuesta completa para los demás que podrían surgir esta pregunta.
A pesar de que la pregunta no es sobre pom.xml sino de línea de comandos - que no se indique cómo hacer lo mismo con pom.xml así que aquí está
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>myPackage.MyMain</mainClass>
<systemProperties>
<property>
<key>myKey</key>
<value>myValue</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
Para la línea de comandos - Creo Sean Patrick Floyd's
la respuesta es buena; sin embargo, si ya tiene algo definido en su pom.xml, lo anulará.
Entonces, ejecutar
mvn exec:java -DmyKey=myValue
también debería funcionar para usted.
También debe tener en cuenta que los estados exec plugin's documentations la siguiente
A list of system properties to be passed.
Note: as the execution is not forked, some system properties required
by the JVM cannot be passed here.
Use MAVEN_OPTS or the exec:exec instead. See the user guide for more information.
Así también se puede hacer algo como esto
export MAVEN_OPTS=-DmyKey=myValue
mvn exec:java
y debería funcionar de la misma manera.
pensé -Dexec.args es de argumentos que se pasan a la clase principal. – Alexandru
sí, estaba equivocado. lo siento, actualicé mi respuesta. '' y '' ambos hacen más o menos lo mismo internamente. –
Esto no funciona para mí :( –