首先要建立一個 Gradle 專案,使用 Gradle 來管理相依套件
這邊專案名稱以 TomcatDemo 為範例
加上相依套件
更新 build.gradle 設定 (加上相依套件)
apply plugin: 'tomcat' buildscript { repositories { jcenter() } dependencies { classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.0' } } repositories { mavenCentral() } dependencies { providedCompile 'javax.servlet:javax.servlet-api:3.1.0' def tomcatVersion = '7.0.11' tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}", "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}" tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") { exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj' } }
之後點視窗右邊 Gradle 的 Reimport 按鈕
建立第一個 Servlet
在 src/main/java 下創一個 HelloWorld 的 servlet
範例程式碼如下
import java.io.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; @WebServlet(urlPatterns={"/hello.view"}) public class HelloWorld extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().println("Hello, World"); } }
設定 runtime
點選右上 [Add Configuration…] 的按鈕
選擇 Gradle
設定中:
- Gradle Project 選擇此專案
- Tasks 輸入 tomcatRun (或 tomcatRunWar)
設定完按下 OK
接著點視窗右上的 Debug 按鈕就會開始進行編譯以及啟動伺服器
這時候開啟 http://localhost:8080/TomcatDemo/hello.view 就能看到 HelloWorld的字樣
手動 rebuild
Java 是個需要編譯的語言,而開發過程不會不停重啟伺服器來進行更新頁面
所以在程式碼改完的時候可以按 build project 的按鈕進行重新編譯並重新加載 class,伺服器不用重新啟動
注意:urlPatterns 更動的時候還是需要重啟伺服器
當 build 完會出現編譯的 class 有更動的訊息,詢問是否要重新加載變動的 class
可以點左下的 [Do not show this dialog in the future] 後按下 Yes
打包 war 檔案
使用 Gradle 打包 war 檔非常的簡單
直接在 build.gradle 裡面加上這行 (加上 war plugin):
apply plugin: 'war'
接下來只需要輸入以下指令
./gradlew war
跑完後 war 檔案產生在 build/libs/ 資料夾中