У меня возникли некоторые проблемы, связанные с созданием дистрибутива моего Play приложения. Деб файл создан правильно, и я могу установить его на Ubuntu 15.04, но запускать и останавливать службы не могут быть установлены:Развертывание приложения Play как пакета Debian
[email protected]:~/dev/projects/test/target$ sudo dpkg -i test_0.2_all.deb
Selecting previously unselected package test.
(Reading database ... 350339 files and directories currently installed.)
Preparing to unpack test_0.2_all.deb ...
Unpacking test (0.2) ...
Setting up test (0.2) ...
Adding test to autostart using update-rc.d
update-rc.d: error: initscript does not exist: /etc/init.d/test
Failed to start test.service: Unit test.service failed to load: No such file or directory.
test could not be registered or started
Я также попытался включить в пакет с «производственной версии» применения. conf и некоторые jvmopts, не повезло (deb-файл имеет версию application.conf из/conf, а не из src/universal/conf -is, что правильный путь? - и jvmopts, кажется, полностью игнорируется).
Это build.sbt я использую в моем проекте:
import RjsKeys._
import com.typesafe.sbt.packager.archetypes.ServerLoader.{SystemV, Upstart}
serverLoading in Debian := SystemV
bashScriptConfigLocation := Some("${app_home}/../conf/jvmopts")
bashScriptExtraDefines += """addJava "-Dconfig.file=${app_home}/../conf/application.config""""
name := """test"""
version := "0.2"
maintainer in Linux := "Me <[email protected]>"
packageSummary in Linux := "Test"
packageDescription := "Test"
daemonUser in Linux := normalizedName.value
daemonGroup in Linux := (daemonUser in Linux).value
doc in Compile <<= target.map(_/"none")
lazy val root = (project in file(".")).enablePlugins(PlayScala,JavaServerAppPackaging,DebianPlugin)
linuxPackageMappings in Debian := linuxPackageMappings.value
scalaVersion := "2.11.1"
pipelineStages := Seq(rjs, digest, gzip)
resolvers += Resolver.sonatypeRepo("snapshots")
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws,
filters,
"org.webjars" %% "webjars-play" % "2.3.0",
"org.webjars" % "jquery" % "2.1.3",
"org.webjars" % "bootstrap" % "3.3.4",
"org.webjars" % "bootbox" % "4.4.0",
"org.webjars" % "angularjs" % "1.3.15",
"org.webjars" % "angular-ui-bootstrap" % "0.13.0",
"org.webjars" % "nervgh-angular-file-upload" % "1.1.5-1",
"org.webjars" % "angular-uuid4" % "0.3.0",
"org.webjars" % "requirejs" % "2.1.14-1",
"org.webjars" % "d3js" % "3.5.5-1",
"org.webjars" % "d3-tip" % "0.6.6",
"com.google.inject" % "guice" % "3.0",
"ws.securesocial" %% "securesocial" % "master-SNAPSHOT",
"org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"
)
scalacOptions ++= Seq(
"-target:jvm-1.7",
"-encoding", "UTF-8",
"-deprecation",
"-feature",
"-unchecked",
"-Xlint",
"-Ywarn-adapted-args",
"-Ywarn-value-discard",
"-Ywarn-inaccessible",
"-Ywarn-dead-code",
"-language:reflectiveCalls"
)
fork in run := false
webJarCdns := Map("org.webjars" -> "//cdn.jsdelivr.net/webjars")
Создал ли 'application.ini' путь к' PID'? –
Нет, я этого не сделал, но PID создается при запуске приложения вручную по умолчанию. – Dario
Вы нашли решение? У меня такая же проблема. –