[英]How to integrate Play Framework 2.0 into Gradle build management using Maven dependencies?
Play framework 2.0是一個用於創建Web應用程序的全棧獨立框架。 然而,可能許多人需要將其集成到他們的構建管理中。 不幸的是,我沒有找到關於他的更多信息。
這是我的用例:我想創建一個使用Scala和Play 2.0的新項目。 我不想使用sbt。 我想使用Gradle,依賴管理應該通過Maven存儲庫完成。
我只找到了這個播放模塊: http : //www.playframework.org/modules/maven-1.0/home ,它通過Maven支持依賴管理。
我在Grails中尋找類似這些示例的內容: https : //github.com/grails/grails-gradle-plugin或http://grails.org/doc/latest/guide/commandLine.html#4.5%20Ant%20and %20Maven
當然,我可以編寫調用“播放控制台命令”的腳本/任務。 雖然,我不喜歡這個解決方案。 有沒有更好的方法來使用Gradle / Maven進行構建管理? 如果這是唯一的解決方案,那么我會使用Gradle,然后調用Play命令(即內部sbt),對嗎? 這是否有效,還是會出現其他問題?
這是一項非常棘手的業務。 Play中的SBT用於獲取依賴項,編譯源和模板,以及SBT增量編譯+自動重新加載功能。 我編寫了一個build.gradle
腳本來解析所有Play 2.0依賴項並設置Eclipse或IntelliJ IDEA類路徑,並在此處公開 。
我會在有空的時候嘗試實施編譯,但這需要一些研究。 當然,您可以添加僅委托給SBT的編譯和運行任務,但這需要在SBT和Gradle中描述所有項目依賴項,這將很難管理。
編輯:
我更新了示例build.gradle文件。 我添加了playCompile
和playClean
任務, playClean
任務應該有助於CI環境。 playCompile
任務執行以下操作:
compile
配置中定義)復制到lib/
文件夾。 這是有效的,因為Play將從lib/
下獲取所有罐子。 play compile
命令來編譯所有源代碼,模板和其他Play框架的東西。 您可以使用cleanCopyPlayLibs
和playClean
分別刪除上述命令的輸出。
請注意,在Windows上似乎存在一個奇怪的問題(錯誤?),這意味着即使play compile
失敗,gradle也會告訴您它成功了。
回復評論:
我想你只是失蹤了
repositories{
mavenCentral()
}
在你的文件中。 檢查此文檔 。
好消息,從Gradle 2.7開始,有一個官方播放插件: https : //docs.gradle.org/current/userguide/play_plugin.html
LinkedIn目前正在制作Gradle插件來支持這一點 。 他們在3個里程碑中推出了這個:
里程碑1已經完成。 它可以通過Gradle夜間版本獲得 。 在上面鏈接的博客文章中,他們鼓勵人們嘗試一下。
我在Gradle for Play Framework 1.2.x中設計了一個簡單的構建腳本,您也可以將其用於Play 2.x.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.