使用 Gradle 运行时设置 Grails 端口
Posted
技术标签:
【中文标题】使用 Gradle 运行时设置 Grails 端口【英文标题】:Set Grails Port when Running with Gradle 【发布时间】:2016-04-19 15:38:57 【问题描述】:我很难将 Grails 项目的端口设置为 8080 以外的端口。该项目是使用 Gradle 设置的。我尝试了所有我能想到并在谷歌上找到的方法,但它不起作用。我尝试的方法包括
./gradlew run -PgrailsArgs="-Dgrails.server.port.http=9090"
./gradlew run-app -PgrailsArgs="-Dgrails.server.port.http=9090"
./gradlew grails-run-app -PgrailsArgs="-Dgrails.server.port.http=9090"
./gradlew run -Dgrails.server.port.http=9090
./gradlew -Dgrails.server.port.http=9090 run
./gradlew grails-run-app -PgrailsArgs="--port=9090"
以及build.properties
、Config.groovy
和build.grade
中的grails.server.port.http
属性。没有工作。很难。
grail run-app
可能与上述选项之一一起使用(也使用BuildConfig.groovy
)。但是“grails run-app”总是导致org.aspectj:aspectjweaver:1.8.5
的解析错误。我也不知道如何绕过这种方式。
任何帮助将不胜感激。
【问题讨论】:
我假设它是 grails 3.x 构建。 【参考方案1】:你也可以这样设置端口
-Dgrails.server.port=9090
当您使用 Gradle 启动服务器时。它对我有用
【讨论】:
【参考方案2】:我猜您使用的属性名称不正确,即grails.server.port.http
。应该是server.port
。因此试试... -Dserver.port=8256
等。
此外,您可以在您用于运行应用程序的 build.gradle 任务中指定它,如下所示。例如,您正在使用 gradle bootRun 为 springboot 应用程序执行此操作。(实际上我在 grails 3.0 方面没有太多工作经验,但在 springboot 中有)
bootRun
systemProperty 'server.port', '8086'
这将在 8086 端口上运行您的应用程序。
一般来说,你可以试试
gradle your_task_to_run_app -Dserver.port=your_port
另外,如果您在 grails 3 应用程序中有 application.yml(因为 grails 3 使用 gradle 和 springboot。如果不存在,您应该能够创建一个),然后按照以下方式进行操作:
app:
name:Springboot+Config+Yml+Demo
version:1.0.0
settings:
counter:1
---
spring:
profiles:development
server:
port: 9001
security:
user.name: 'default'
user.password: 'default'
让我知道它是否有效,因为没有尝试过,但很确定它会有效。
编辑:更多 this 应该会有所帮助! 希望对您有所帮助!
【讨论】:
嘿!找到了一个很好的链接,绝对可以帮助您nixmash.com/java/setting-the-tomcat-http-port-in-gradle Vinay,非常感谢您的帮助。两种方法似乎都行不通。Dserver.port=8086
没有被拾取,并且服务器仍在端口 8080 上运行。我尝试将 bootRun
或 run
任务添加到 build.gradle 中,最终出现类似 Could not find method run()...
的错误消息
在 build.gradle 在运行任务中你是否尝试设置环境属性,如 runaddResources = false systemProperty 'server.port', '8086'
事实证明,在grails-app/conf/BuildConfig.groovy
中添加grails.server.port.http = 9090
可以解决问题。 grails docs 的 gradle 插件声明不再参考 BuildConfig.groovy
获取存储库或依赖项信息,但显然仍会参考该文件以获取运行时配置。以上是关于使用 Gradle 运行时设置 Grails 端口的主要内容,如果未能解决你的问题,请参考以下文章
初始化类路径时出错:找不到与 services.gradle.org 匹配的主题备用 DNS 名称。 -> 运行 grails 3.0.1 应用程序时
使用gradle bootRun启动时,redirect()无法在Grails中解析@info.app.name @
如何在 Grails 3 Gradle 项目中控制 H2 驱动程序版本?