如何设置在maven下运行的分叉grails的http端口?

时间:2012-10-02 14:33:23

标签: maven grails-2.0

如何在命令行中为在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>

3 个答案:

答案 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>

请参阅http://jira.grails.org/browse/MAVEN-177

答案 1 :(得分:1)

由于你使用fork选项,它会产生一个带执行的新shell,它可能不会继承你的参数。

尽量不要分叉,看看是否有帮助。

或者,您可以使用以下方法向插件添加一些fork参数:

<forkedVmArgs>
  ...
</forkedVmArgs>

答案 2 :(得分:1)

mvn grails:exec -Dcommand=run-app -Dserver.port=8081