如何在命令行中为在maven下运行的grails(2.1.0)项目设置http端口? Grails正在分叉。
我试过了:
mvn grails:run-app -Dserver.port=8081 -Dgrails.server.port.http=8081
但没有运气。它仍然在端口8080上运行。
我没有在其他任何地方指定port属性。
pom片段:
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>2.1.0</version>
<configuration>
<fork>true</fork>
</configuration>
<extensions>true</extensions>
</plugin>
答案 0 :(得分:4)
就像Niels所说,如果你要求Grails进程(默认为true),你可以将forkedVmArgs添加到pom中:
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>${grails.version}</version>
<configuration>
<!-- Whether for Fork a JVM to run Grails commands -->
<fork>true</fork>
<forkedVmArgs>
<forkedVmArg>-Dserver.port=9003</forkedVmArg>
</forkedVmArgs>
</configuration>
<extensions>true</extensions>
</plugin>
答案 1 :(得分:1)
由于你使用fork选项,它会产生一个带执行的新shell,它可能不会继承你的参数。
尽量不要分叉,看看是否有帮助。
或者,您可以使用以下方法向插件添加一些fork参数:
<forkedVmArgs>
...
</forkedVmArgs>
答案 2 :(得分:1)
mvn grails:exec -Dcommand=run-app -Dserver.port=8081