Spring引导应用程序不遵守服务器端口的VM选项

时间:2018-03-23 06:08:57

标签: java spring maven spring-boot intellij-idea

我正在使用IntelliJ,Maven,Spring-boot。

我正在尝试使用VM选项将端口设置为8001(第3个选项卡(跑步者),取消选中"使用项目设置"),如堆栈溢出的许多答案中所给出的那样。这些是我尝试过的两个选项。

-Dmaven.tomcat.port=8001
-Dserver.port=8001

然而,tomcat服务器在默认的8080端口上启动。

但是,如果我在application.properties上声明端口:

server.port=8001

它工作正常。如何使用VM选项运行它。我不想以编程方式提供它或在application.properties中配置它。

我已经尝试过: Spring Boot - how to configure port

和其他一些人。

请注意,我使用intelliJ

上给出的调试/运行按钮运行

enter image description here

enter image description here

控制台将命令显示为:

/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:56655,suspend=y,server=n -Dmaven.multiModuleProjectDirectory=/Users/barora/gitHub/microservice/currency-exchange-service -Dserver.port=8001 "-Dmaven.home=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3" "-Dclassworlds.conf=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/m2.conf" -javaagent:/Users/barora/Library/Caches/IntelliJIdea2017.3/captureAgent/debugger-agent.jar=/private/var/folders/g5/6nfrnqnj2tz_z0q8h9ckhbqjwmtnv2/T/capture127.props -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar" org.codehaus.classworlds.Launcher -Didea.version=2017.3.4 spring-boot:run

您可以在哪里看到-Dserver.port=8001

然而它始于8080:

2018-03-23 00:10:09.092  INFO 48261 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)

2 个答案:

答案 0 :(得分:1)

我遇到了和你一样的问题。然后我意识到里面.idea /文件夹,存在一个名为workspace.xml的文件,并且有一个标记如何说:

<option name="VM_PARAMETERS" value="-Dserver.port=8081" />

更改此选项,服务器端口将更改(至少在我的情况下它适用)。

我希望这会对某人有所帮助。

答案 1 :(得分:0)

好的,这是一个古老的问题,但这是我在Google中获得的第一个结果。根据{{​​3}}中的答案,这就是我所做的事情:

我使用-Dserver.port=8090而不是使用-Dspring-boot.run.jvmArguments='-Dserver.port=8090'

请注意,此参数仅在fork = true时有效:https://stackoverflow.com/a/37215726/1922026