1. 程式人生 > >play framerowk 1.2.7 多種打包(預編譯)方式

play framerowk 1.2.7 多種打包(預編譯)方式

20161120備註:

play1.2.7 區域性更新包生成器_4.1.0
http://download.csdn.net/detail/fasttime/9687854
這個版本解決了依賴於 jdk 以及 play 環境的問題。
注:下載過的老使用者,沒有積分的話,請郵件向我索取新版本,我將單獨傳送。


1.play 提供的 play 命令打包(相以路徑以及絕對路徑都可以,目前也是網上流傳最廣的方式)

     play war ${path_project} --exclude .svn:target:logs:tmp -o ${path_war}


2.修改 eclipe 中的啟動檔案屬性eclipse/*.launch 中的最後一條:加入引數 -Dprecompile=yes  將會在啟動專案時,進行專案的預編譯

(將在專案中生成 precompiled 資料夾,包含java 及 templates 資料夾)

<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dprecompile=yes -Dplay.debug=yes -Dplay.id= -Dapplication.path=&quot;${project_loc:zhongchou}&quot; -Djava.endorsed.dirs=&quot;D:\develop\java\play_framework\play-1.2.7/framework/endorsed&quot; -javaagent:&quot;D:\develop\java\play_framework\play-1.2.7/framework/play-1.2.7.jar&quot;"/>`


3.命令方式直接打包及預編譯,可避開 play 的前置檢查

D:\develop\java\jdk\jdk1.6\bin\java -javaagent:D:\develop\java\play_framework\play-1.2.7\framework/play-1.2.7.jar -Dprecompile=yes -XX:-UseSplitVerifier -Dfile.encoding=utf-8 -XX:CompileCommand=exclude,jregex/Pretokenizer,next -Xdebug -Xrunjdwp:transport=dt_socket,address=0,server=y,suspend=n -Dplay.debug=yes -classpath D:\develop\workspace\framework_play\framework_play\conf;D:\develop\java\play_framework\play-1.2.7\framework\play-1.2.7.jar;D:\develop\workspace\framework_play\framework_play\lib\*;D:\develop\java\play_framework\play-1.2.7\framework\lib\*; -Dapplication.path=D:\develop\workspace\framework_play\framework_play -Dplay.id= play.server.Server


注:

   第 1 種原生的 play 提供的打包命令適用於第一次部署的情況(整體更新)

   第 2 3 種則是適用於,選擇性的替換預編譯後的檔案(區域性更新,快速打包 文章介紹: http://blog.csdn.net/fasttime/article/details/50813286

第 2 種方式可在 play 的原始碼類 Play.java 中得知

第  3  種方式可從入口 play.bat 中 的前置檢查 python 原始碼中得知,最後呼叫的還是 java 命令拉起預編譯及打包的

(有興趣的朋友可在play 的前置檢查 python 原始碼中加輸出資訊或看調原始碼來跟蹤,若有更好的跟蹤方式請多指教)