我只是想在启动时运行一个响铃服务器。我正在使用ubuntu 12.04,并想知道其他人如何部署他们的应用程序。
答案 0 :(得分:3)
您需要生成init或upstart脚本。 leiningen wiki提及lein-init-script,可自动生成和安装脚本。
答案 1 :(得分:2)
新贵的食谱非常令人生畏......但它比我想象的要容易。新手脚本实际上很容易编写。
以下是我采取的步骤:
:main
关键字指向要运行的类。例如:(defproject lapis "0.1.0-SNAPSHOT" :dependencies ... ... rest of file ... :main lapis.app)
:gen-class
指令以及-main
函数:(ns lapis.app (:gen-class) (:use ....) (:require...)) (defn -main [&args] ......)
$ lein uberjar
> Including fs-1.3.2.jar
> Including jetty-io-7.6.1.v20120215.jar
> ........
> Including jetty-continuation-7.6.1.v20120215.jar
> Created /home/example/lapis/target/lapis-0.1.0-SNAPSHOT-standalone.jar
.jar
文件运行:$ java -jar target/lapis-0.1.0-SNAPSHOT-standalone.jar
并在项目目录之外进行测试,因为您可能不知道resources
目录中的文件存在问题:
$ cd ~
$ java -jar /home/example/lapis/target/lapis-0.1.0-SNAPSHOT-standalone.jar
我的剧本是5行:
$ cat /etc/init/lapis.conf
> -------------
> start on started
> script
> exec /usr/bin/java -jar /home/example/lapis/target/lapis-0.1.0-SNAPSHOT-standalone.jar >> /var/log/lapis/lapis.log 2>&1
> end script
> --------------
$ sudo start lapis
> lapis start/running, process 2543
$ sudo stop lapis
> lapis stop/waiting