3

如何从命令行为在 maven 下运行的 grails (2.1.0) 项目设置 http 端口?Grails 正在分叉。

我试过了:

mvn grails:run-app -Dserver.port=8081 -Dgrails.server.port.http=8081

但没有运气。它仍然在端口 8080 上运行。

我没有在其他任何地方指定端口属性。

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>
4

3 回答 3

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

于 2013-03-13T07:32:32.377 回答
1
mvn grails:exec -Dcommand=run-app -Dserver.port=8081
于 2013-09-21T00:13:40.793 回答
1

由于您使用 fork 选项,因此它会在执行时生成一个新的 shell,它可能不会继承您的参数。

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

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

<forkedVmArgs>
  ...
</forkedVmArgs>
于 2013-01-29T13:49:50.457 回答