【问题标题】:How to calculate minimum set of jars required to compile Play application?如何计算编译 Play 应用程序所需的最小 jar 集?
【发布时间】:2014-11-25 12:30:46
【问题描述】:
我们的发布工程规定我们不能使用 SBT。我们必须使用 ANT。
我们需要编译 PlayFramework 应用程序所需的正确 jar 列表。我们正在使用 Play 2.3.4 和(我认为!)Scala 2.10 --- 这是从 activator-1.2.3 下载的。
关于如何计算出最少必要的罐子集有什么想法吗?
现在,Controller 类和迭代器存在问题...(我想这些在一些 scala jar 中)
问题:
- 用户的 ivy 缓存中 jar 的 jar 编号方案有两组数字 - 例如 play-java-2.3.4-2.10。这是否意味着它是使用 scala 2.10 编译的 Play framework rev 2.3.4 ?
- 有最低清单吗?
【问题讨论】:
标签:
ant
sbt
playframework-2.3
typesafe-activator
【解决方案1】:
tl;dr activator stage 然后从 target/universal/stage/lib 获取罐子。
Play Framework 提供stage 任务,可以prepare your application to be run in place:
这会清理并编译您的应用程序,检索所需的
依赖项并将它们复制到target/universal/stage 目录。
它还创建了一个bin/<start> 脚本,其中<start> 是项目的
姓名。该脚本在 Unix 风格的系统上运行 Play 服务器
也是Windows对应的bat文件。
在你执行完stage 任务后,你从target/universal/stage 获取罐子,你应该可以离线或...咳咳...蚂蚁。
[jars-needed-play] $ stage
[info] Packaging /Users/jacek/sandbox/jars-needed-play/target/scala-2.11/jars-needed-play_2.11-1.0-SNAPSHOT-sources.jar ...
[info] Done packaging.
[info] Updating {file:/Users/jacek/sandbox/jars-needed-play/}root...
[info] Wrote /Users/jacek/sandbox/jars-needed-play/target/scala-2.11/jars-needed-play_2.11-1.0-SNAPSHOT.pom
[info] Resolving jline#jline;2.11 ...
[info] Done updating.
[info] Main Scala API documentation to /Users/jacek/sandbox/jars-needed-play/target/scala-2.11/api...
[info] Compiling 5 Scala sources and 1 Java source to /Users/jacek/sandbox/jars-needed-play/target/scala-2.11/classes...
[info] Packaging /Users/jacek/sandbox/jars-needed-play/target/jars-needed-play-1.0-SNAPSHOT-assets.jar ...
[info] Done packaging.
model contains 17 documentable templates
[info] Main Scala API documentation successful.
[info] Packaging /Users/jacek/sandbox/jars-needed-play/target/scala-2.11/jars-needed-play_2.11-1.0-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] Packaging /Users/jacek/sandbox/jars-needed-play/target/scala-2.11/jars-needed-play_2.11-1.0-SNAPSHOT.jar ...
[info] Done packaging.
[success] Total time: 4 s, completed Oct 1, 2014 9:09:29 AM
[jars-needed-play] $ eval "ls target/universal/stage/lib" !
ch.qos.logback.logback-classic-1.1.1.jar
ch.qos.logback.logback-core-1.1.1.jar
...
xerces.xercesImpl-2.11.0.jar
xml-apis.xml-apis-1.4.01.jar
[info] ans: Int = 0