因此,当您使用播放工具创建新的播放项目时:
〜/ play-2.2.1 /播放新的MyProject
它在名为MyProject的新目录中创建一个骨架项目。
运行此项目:
〜/ play-2.2.1 / play run(来自MyProject目录)。
这里究竟发生了什么?播放工具然后将代码从MyProject导入容器(如Tomcat)并运行它吗?我假设它使用Netty而不是J2EE servlet等。那么为什么我们需要调用'play'程序来运行MyProject目录中的代码? “新项目”脚本没有复制它需要的所有内容吗?
我对这里工作的模型感到困惑。如果没有播放/代码,项目代码似乎不完整?
感谢任何建议和指示。
答案 0 :(得分:2)
不,没有容器。相反,您的应用程序是一个独立的Java应用程序,其中包含Play作为库依赖项,因此没有任何东西在其他内容中。
在开发过程中,sbt会启动您的应用程序,您可以将其视为play
命令的最后一行,它只是一个shell脚本。
使用play dist
打包生产应用程序时,您会在ZIP文件中获得一个独立的应用程序,例如: target/universal/myapp-1.0-SNAPSHOT.zip
。这包含以相同方式运行应用程序的shell脚本:请参阅unzip -p target/universal/myapp-1.0-SNAPSHOT.zip play-slick-examples-1.0-SNAPSHOT/bin/myapp
。