0

Я сделал небольшой HTTP-сервис с игрой. Теперь я хочу построить версию Windows с установкой. Я уже сделал один месяц назад, но я изменил свое приложение, поэтому мне нужно переделать установку. Но, не меняя все в файле SBT, он не в состоянии ...Packaging Play приложение для Windows с использованием Native sbt Packager

Здесь команды я использую для создания установки:

activator windows:packageBin 

Здесь ошибка я получаю, когда я запустить приложение после установки:

Oops, cannot start the server. 
Configuration error: Configuration error[application: application.conf: java.io.IOException: resource not found on classpath: application.conf, application.json: java.io.IOException: resource not found on classpath: application.json, application.properties: java.io.IOException: resource not found on classpath: application.properties] 
     at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:94) 
     at play.api.Configuration$.load(Configuration.scala:66) 
     at play.api.WithDefaultConfiguration$$anonfun$initialConfiguration$1.apply(Application.scala:76) 
     at play.api.WithDefaultConfiguration$$anonfun$initialConfiguration$1.apply(Application.scala:76) 
     at play.utils.Threads$.withContextClassLoader(Threads.scala:21) 
     at play.api.WithDefaultConfiguration$class.initialConfiguration(Application.scala:75) 
     at play.api.DefaultApplication.initialConfiguration$lzycompute(Application.scala:402) 
     at play.api.DefaultApplication.initialConfiguration(Application.scala:402) 
     at play.api.WithDefaultGlobal$class.play$api$WithDefaultGlobal$$globalClass(Application.scala:25) 
     at play.api.DefaultApplication.play$api$WithDefaultGlobal$$globalClass$lzycompute(Application.scala:402) 
     at play.api.DefaultApplication.play$api$WithDefaultGlobal$$globalClass(Application.scala:402) 
     at play.api.WithDefaultGlobal$class.play$api$WithDefaultGlobal$$javaGlobal(Application.scala:31) 
     at play.api.DefaultApplication.play$api$WithDefaultGlobal$$javaGlobal$lzycompute(Application.scala:402) 
     at play.api.DefaultApplication.play$api$WithDefaultGlobal$$javaGlobal(Application.scala:402) 
     at play.api.WithDefaultGlobal$$anonfun$play$api$WithDefaultGlobal$$globalInstance$1.apply(Application.scala:54) 
     at play.api.WithDefaultGlobal$$anonfun$play$api$WithDefaultGlobal$$globalInstance$1.apply(Application.scala:53) 
     at play.utils.Threads$.withContextClassLoader(Threads.scala:21) 
     at play.api.WithDefaultGlobal$class.play$api$WithDefaultGlobal$$globalInstance(Application.scala:52) 
     at play.api.DefaultApplication.play$api$WithDefaultGlobal$$globalInstance$lzycompute(Application.scala:402) 
     at play.api.DefaultApplication.play$api$WithDefaultGlobal$$globalInstance(Application.scala:402) 
     at play.api.WithDefaultGlobal$class.global(Application.scala:68) 
     at play.api.DefaultApplication.global(Application.scala:402) 
     at play.api.WithDefaultConfiguration$class.play$api$WithDefaultConfiguration$$fullConfiguration(Application.scala:82) 
     at play.api.DefaultApplication.play$api$WithDefaultConfiguration$$fullConfiguration$lzycompute(Application.scala:402) 
     at play.api.DefaultApplication.play$api$WithDefaultConfiguration$$fullConfiguration(Application.scala:402) 
     at play.api.WithDefaultConfiguration$class.configuration(Application.scala:84) 
     at play.api.DefaultApplication.configuration(Application.scala:402) 
     at play.api.Application$class.$init$(Application.scala:274) 
     at play.api.DefaultApplication.<init>(Application.scala:406) 
     at play.core.StaticApplication.<init>(ApplicationProvider.scala:53) 
     at play.core.server.NettyServer$.createServer(NettyServer.scala:253) 
     at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:289) 
     at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:284) 
     at scala.Option.map(Option.scala:145) 
     at play.core.server.NettyServer$.main(NettyServer.scala:284) 
     at play.core.server.NettyServer.main(NettyServer.scala) 
Caused by: com.typesafe.config.ConfigException$IO: application: application.conf: java.io.IOException: resource not found on classpath: application.conf, application.json: java.io.IOException: resource not found on classpath: application.json, application.properties: java.io.IOException: resource not found on classpath: application.properties 
     at com.typesafe.config.impl.SimpleIncluder.fromBasename(SimpleIncluder.java:235) 
     at com.typesafe.config.impl.ConfigImpl.parseResourcesAnySyntax(ConfigImpl.java:128) 
     at com.typesafe.config.ConfigFactory.parseResourcesAnySyntax(ConfigFactory.java:811) 
     at com.typesafe.config.ConfigFactory.load(ConfigFactory.java:113) 
     at com.typesafe.config.ConfigFactory.load(ConfigFactory.java:136) 
     at com.typesafe.config.ConfigFactory.loadDefaultConfig(ConfigFactory.java:228) 
     at com.typesafe.config.ConfigFactory.access$000(ConfigFactory.java:38) 
     at com.typesafe.config.ConfigFactory$1.call(ConfigFactory.java:378) 
     at com.typesafe.config.ConfigFactory$1.call(ConfigFactory.java:375) 
     at com.typesafe.config.impl.ConfigImpl$LoaderCache.getOrElseUpdate(ConfigImpl.java:58) 
     at com.typesafe.config.impl.ConfigImpl.computeCachedConfig(ConfigImpl.java:86) 
     at com.typesafe.config.ConfigFactory.load(ConfigFactory.java:375) 
     at com.typesafe.config.ConfigFactory.load(ConfigFactory.java:299) 
     at play.api.Configuration$.dontAllowMissingConfig$lzycompute(Configuration.scala:29) 
     at play.api.Configuration$.dontAllowMissingConfig(Configuration.scala:29) 
     at play.api.Configuration$.load(Configuration.scala:64) 
     ... 34 more 
Caused by: com.typesafe.config.ConfigException$IO: application.conf: java.io.IOException: resource not found on classpath: application.conf 
     at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:183) 
     at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:170) 
     at com.typesafe.config.impl.Parseable.parse(Parseable.java:148) 
     at com.typesafe.config.impl.SimpleIncluder.fromBasename(SimpleIncluder.java:185) 
     ... 49 more 
Caused by: java.io.IOException: resource not found on classpath: application.conf 
     at com.typesafe.config.impl.Parseable$ParseableResources.rawParseValue(Parseable.java:579) 
     at com.typesafe.config.impl.Parseable$ParseableResources.rawParseValue(Parseable.java:554) 
     at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:176) 
     ... 52 more 

А вот мой SBT файл:

name := """IDTabDriver""" 

name in Windows := "IdTabDriver" 

packageSummary in Windows := "IdTabDriver" 

packageDescription in Windows := "IdTabDriver" 

maintainer in Windows := "My Company" 

organization := "My Company" 

version := "1.0.0.1" 

lazy val root = (project in file(".")).enablePlugins(PlayJava) 

scalaVersion := "2.11.1" 

libraryDependencies ++= Seq(
    cache, 
    javaWs, 
    "commons-configuration" % "commons-configuration" % "1.10", 
    "org.rxtx" % "rxtxcomm" % "2.0-7pre1" 
) 

Если какой-либо один есть идея, я синтаксического дерева d так много вещей я не могу найти решение

+0

Это происходит, когда вы его создаете или запускаете (после установки)? Какую версию игры вы используете? (Вы используете «play run» или «запуск активатора», чтобы запустить его локально?) – Peanut

+0

Это происходит во время выполнения, поэтому при запуске после установки. Я запускаю его с созданным файлом idtabdriver.bat. Когда я запускаю его в своем dev environement (в intelliji), он работает очень хорошо. Я с Play 2.3 –

+0

Можете ли вы проверить версию java на сервере и на локальной машине? – Peanut

ответ

1

Я также столкнулся с той же ошибкой, что и ресурс application.conf не найден на пути к классам. Это может быть связано с know bug в плагине sbt-play. Пока не выйдет recent bug fix, попробуйте добавить следующую строку к вашему build.sbt в качестве обходного пути как suggested by the Play development team.

PlayKeys.externalizeResources := false 

Это сработало для меня.

-1

Если вы просто используете то, что поставляется с Play, то все, что вам нужно запустить, - dist в консоли SBT.

Тогда посмотрите на target/universal для заархивированного файла. При распаковке запустите файл .bat в папке bin.