概览

Play framwork 是我们一直在使用的框架,从刚开始的简单使用,乱起八糟的jar包引用,项目组成员之间的下载项目之后的引用问题等,遇到各种问题,我都一一解决,我将在这个系列中奉上解决方案。

项目打包,play 自带的是打包后为批处理,或者linux 的bash。但是有时候为了方便部署到tomcat,或者其他servlet容器,需要打包成war 包。

Play2war plugin 使用

Play2.2.2 本身是没有war命令的,需要一个插件来完成war 的打包。Github 地址是:https://github.com/play2war/play2-war-plugin。

配置

先新建一个项目

Play new testWar

APP_HOME 表示当前play 项目的目录。

添加 Play2War 插件, Play2war 与 play2 版本是兼容的, 但是play2.1 api 与 2.0 api 是不兼容的,所以根据你现在的play 版本选择正确的play2warplugin。 下边是对照表:

Play 2.0.x => Play2War 0.8.1 and earlier

Play 2.1.x => Play2War 1.0.x

Play 2.1.4+ => Play2War 1.1.x

Play 2.2.x => Play2War 1.2.x and later

然后在 APP_HOME/project/plugins.sbt: 添加如下信息:

//playplugin repostory

resolvers += "Play2war plugins release" at "http://repository-play-war.forge.cloudbees.com/release/"

//use play2war

addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "1.2")

在 APP_HOME/build.sbt文件添加一行:

import com.github.play2war.plugin._

在build.sbt 中加入play2-war-plugin 的配置,我用部署到tomcat6 中,所以设置servletVersion 为2.5.

Play2WarPlugin.play2WarSettings

Play2WarKeys.servletVersion := "2.5"

配置Servlet 容器的版本对照:

Servlet 3.1: Tomcat 8, Wildfly 8, Glassfish 4, Jetty 9, ...

Servlet 3.0: Tomcat 7, JBoss 7, JBoss EAP 6, Glassfish 3, Jetty 8, ...

Servlet 2.5: Tomcat 6, JBoss AS 5/6, JBoss EAP 5, Glassfish 2, Jetty 7, ...

还有一些其他的配置:https://github.com/play2war/play2-war-plugin/wiki/Play2War-configuration#build-configuration

使用:

直接使用 play war命令即可,打包之后保存在 APP_HOME/target/testwar-1.0-SNAPSHOT.war

部署到tomcat, 拷贝过去即可。

play framework系列之打包war的更多相关文章

  1. 【Maven】项目打包-war包-Jar包[IDEA将项目打成war包]

    [Maven]项目打包-war包-Jar包[IDEA将项目打成war包] 2017年01月31日 00:21:06 阅读数:22912 标签: ideamaven发布博客插件 更多 个人分类: ❷ J ...

  2. Spring Boot打包war jar 部署tomcat

    概述 1.Spring Boot聚合工程打包war部署Tomcat 2.Spring Boot打包Jar,通过Java -jar直接运行. 3.提供完整pom.xml测试项目 至github 4.项目 ...

  3. Entity Framework系列文章目录

    Entity Framework系列文章目录Entity Framework系列文章目录Entity Framework系列文章目录Entity Framework系列文章目录

  4. 不使用IDE,用maven命令打包war项目及出现的问题解决(最全攻略,亲测有效)

    第一次在博客园写博客,写的不好大家见谅啊!! 一.首先,在用maven打包之前,一定确认好你使用的jdk版本和maven的版本,最好就是用jdk1.8和maven3.3以上的,版本太低了容易出现一些意 ...

  5. idea springboot 打包 war

    1.pom文件中将项目改为   war

  6. spring boot 打包war后 部署到外部 tomcat 的具体正确操作【包括修改端口 与 去除请求路径的工程名】

    1.前言 工程做好了,总不能放在idea运行吧?不然怎么把项目放到云服务器呢?[这一篇随笔不讲解发布的云服务器的操作,在其他随笔有详细记载.] 解决的方案是把springboot 工程 打包成war文 ...

  7. IDEA Java Web(Spring)项目从创建到打包(war)

    创建Maven管理的Java Web应用 创建新项目,"create new project",左侧类型选择"maven",右侧上方选择自己的SDK,点击&qu ...

  8. Entity Framework系列文章导航

    转自:http://www.cnblogs.com/xray2005/archive/2011/10/11/2206746.html Entity Framework4.0系列文章 需要说明的是,以下 ...

  9. SpringBoot idea maven打包war

    什么都不需要配置,跟着做! pom.xml修改打包类型为war <packaging>war</packaging> 排除内置Tomcat <!--因配置外部TOMCAT ...

随机推荐

  1. python函数,模块及eclipse配置python开发环境

    一.eclipse的使用 1.作用 (1)最好用的IDE (2)可调式debug (3)查看可执行过程 (4)可查看源代码 2.安装eclipse及配置 目录安装Pythonpython for ec ...

  2. 13-6_mysql索引_1_Mysql_Learning_Notes_20180719_13-6

    mysql索引_1_Mysql_Learning_Notes 二分查找/折半查找法,binary search 一种在有序数组中查找某一特定元素的搜索算法; 二分查找法的优点是比较少次数,查找速度快, ...

  3. qt使用动态库(DLL)

    本文主要讲解在QT开发环境中如何使用VC生成的DLL及QT自身生成的DLL.至于其它情况本文不作讨论. 连接库分为2种 (1)动态连接库,通常有.h .lib .dll三个文件,功能实现在dll中 ( ...

  4. Pytorch自定义数据库

    1)前言 虽然torchvision.datasets中已经封装了好多通用的数据集,但是我们在使用Pytorch做深度学习任务的时候,会面临着自定义数据库来满足自己的任务需要.如我们要训练一个人脸关键 ...

  5. 使用UDP和TCP协议的各种应用和应用层协议

    IGMP和ICMP是传输层协议

  6. java中Cookie使用问题(message:invalid character [32] was present in the Cookie value)

    1. 问题描述 Servlet中执行下面一段代码: public void doGet(HttpServletRequest request, HttpServletResponse response ...

  7. Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等

    http://blog.csdn.net/h7870181/article/details/8653865 以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后 ...

  8. CNN Architectures(AlexNet,VGG,GoogleNet,ResNet,DenseNet)

    AlexNet (2012) The network had a very similar architecture as LeNet by Yann LeCun et al but was deep ...

  9. 字体格式类型(.eot/.otf/.woff/.svg)

    @font-face语句是css中的一个功能模块,用于实现网页字体多样性的模块(设计者可随意指定字体,不需要考虑浏览者电脑上是否安装). @font-face文件 而由于网页中使用的字体类型,也是各浏 ...

  10. 监控SQLServer作业执行情况脚本

    SELECT [sJOB].[job_id] AS [作业ID] , [sJOB].[name] AS [作业名] , CASE WHEN [sJOBH].[run_date] IS NULL OR ...