为什么这两个命令的行为不同?
在生产模式下启动Play并启动dev模式有何不同?
activator run -Dconfig.file=/myConfig.conf # works
activator "run -Dconfig.file=/myConfig.conf" # works
activator "start -Dconfig.file=/myConfig.conf" # Works
activator start -Dconfig.file=/myConfig.conf # Doesn't, config file not found
Run Code Online (Sandbox Code Playgroud)
Rei*_*cer 21
两个命令之间的根本区别在于绊倒你.在activator启动JVM,然后执行你的命令行上给出的指令.run和之间的区别start是另一个JVM的引入.该start命令在新JVM中启动程序,而run不是.那么,对于你的四个案例:
activator run -Dconfig.file=/myConfig.conf # works
Run Code Online (Sandbox Code Playgroud)
-D参数将转到激活器的JVM,然后执行run.它的工作原理是因为run使用与激活器相同的JVM.
activator "run -Dconfig.file=/myConfig.conf" # works
Run Code Online (Sandbox Code Playgroud)
激活器的JVM获取没有-D参数,但它解释"run -Dconfig.file =/myConfig.conf"并相应地设置config.file属性,也在激活器的JVM中.
activator "start -Dconfig.file=/myConfig.conf" # Works
Run Code Online (Sandbox Code Playgroud)
激活器启动一个新的JVM并将-D选项传递给它并启动你的程序,因此它的工作原理是因为你的程序获得了config.file属性.
activator start -Dconfig.file=/myConfig.conf # Doesn't work, config file not found
Run Code Online (Sandbox Code Playgroud)
激活器的JVM接收-D选项,然后start通过创建一个新的JVM来执行命令,该JVM没有获得-D选项,因此失败.
| 归档时间: |
|
| 查看次数: |
6512 次 |
| 最近记录: |