我很难将Grails项目的端口设置为8080以外的其他项目。该项目是使用Gradle设置的。我尝试了所有我能想到并在Google上找到的方法,但它不起作用。我试过的方法包括
./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"
以及grails.server.port.http
,build.properties
和Config.groovy
中的build.grade
属性。没有用。这很难。
可能grail run-app
可以使用上述选项之一(也使用BuildConfig.groovy
)。但是“grails run-app”总是导致org.aspectj:aspectjweaver:1.8.5
的解析错误。我也不知道如何绕过这条路。
非常感谢任何帮助。
答案 0 :(得分:6)
您也可以像这样设置端口
-Dgrails.server.port=9090
使用Gradle启动服务器时。它对我有用
答案 1 :(得分:3)
您使用的是错误的属性名称,即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应该有所帮助! 希望它有所帮助!