我有一个 clojure ring 项目,我希望能够根据配置文件设置端口号。目前我有来自 project.clj 的以下片段
:plugins [[lein-ring "0.8.13"]]
:ring {:handler project.handler/webServer
:init project.init/initialize
:port 80}
:profiles {:dev {:jvm-opts ["-Dproperty-file=dev.properties"]}
:ci {:jvm-opts ["-Dproperty-file=ci.properties"]}
:uberjar {:aot :all}})
Run Code Online (Sandbox Code Playgroud)
我想做的是将开发环境的端口设置为8080,然后将生产环境的端口设置为80。我会一直在端口 80 上运行,但这需要 root 权限,而不是我想为开发运行做的事情。我曾尝试(盲目地)将环端口放入 uberjar 配置文件中,但这没有用。我还尝试使用环境项目根据环境变量设置环端口,但这也不起作用。
我对将命令行参数传递给命令的解决方案持开放java -jar [...]-standalone.jar态度,但我对如何使任何方法起作用感到困惑。