play framework系列之打包war


概覽

 

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, 拷貝過去即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM