我有一個clojure環網工程,我希望能夠根據配置文件設置端口號。目前,我有從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}})
我想要做的是將端口設置爲8080開發環境,然後對生產環境的端口80。我會始終在端口80上運行,但這需要root權限,而不是我想要爲dev運行執行的操作。我嘗試過(盲目地)將環端口放入uberjar配置文件中,但這不起作用。我也嘗試使用environ project來設置基於環境變量的環路端口,但這也不起作用。
我打開一個解決方案,將命令行參數傳遞給java -jar [...]-standalone.jar
命令,但我堅持如何獲得任何工作方法。
這對我有效。我意識到,即使在運行「ring uberjar」目標時,我仍然在使用「dev」配置文件。這是令人困惑的部分。我不得不改變添加'with-profile ci'來獲取正確的端口。 –