Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 如何配置播放!仅使用Ant或Maven作为war构建的框架项目?_Deployment_Ant_Maven_Playframework_War - Fatal编程技术网

Deployment 如何配置播放!仅使用Ant或Maven作为war构建的框架项目?

Deployment 如何配置播放!仅使用Ant或Maven作为war构建的框架项目?,deployment,ant,maven,playframework,war,Deployment,Ant,Maven,Playframework,War,我从文档()中意识到,如果!框架已正确安装和配置,然后创建可部署war只需运行以下命令: play war myapp -o myapp.war 但是如果这出戏成功了呢!框架未安装在目标机器上,并且要求从Ant或Maven构建脚本创建标准war?如何创建一个构建脚本或pom文件来利用这个剧本呢!框架API生成所需的war工件,而无需将框架永久安装到目标机器上。这很容易做到吗?不是直截了当的。如果您查看playwar命令的python脚本,您将看到大量的处理正在进行 您可以将其复制到ANT或Ma

我从文档()中意识到,如果!框架已正确安装和配置,然后创建可部署war只需运行以下命令:

play war myapp -o myapp.war

但是如果这出戏成功了呢!框架未安装在目标机器上,并且要求从Ant或Maven构建脚本创建标准war?如何创建一个构建脚本或pom文件来利用这个剧本呢!框架API生成所需的war工件,而无需将框架永久安装到目标机器上。这很容易做到吗?

不是直截了当的。如果您查看
playwar
命令的python脚本,您将看到大量的处理正在进行


您可以将其复制到ANT或Maven脚本中,但这样您就失去了任何向后兼容性,无法进行将来的升级。我建议要么确保包含相关的Play framework文件,以便可以完成构建,要么在中央构建服务器上进行WAR构建,并将WAR文件分发(或从CVS/SVN/GIT加载)到目标机器。

据我所知,Play framework与您的应用程序一起打包在WAR文件中。因此,在没有安装或提供play的情况下尝试构建似乎相当困难

通常,这将按以下方式进行:

  • 构建Play应用程序并在安装Play的机器上生成WAR
  • 将从Play生成的WAR部署到Maven存储库(最好是组中共享的Maven repo服务器,或者通过版本控制同步的本地Maven repo目录,或者只需将WAR签入版本控制,队友将通过mvn安装安装到本地Maven repo)
  • 将WAR作为依赖项添加到Maven项目中,以便将其包含在构建中

  • 我不相信在没有安装Play的情况下尝试构建Play应用程序战争会有什么好处。WAR需要在安装Play的机器上生成,然后作为打包WAR分发到其他机器(最好通过共享Maven repo服务器,如Archiva或Nexus)。

    没有任何东西可以阻止您在临时目录中安装Play。感谢大家的反馈。我不确定我是否已经准备好接受答案,但这个插件似乎走上了我想要实现的正确道路: