Line bot - 放置java web專案至heroku (1)
- 本篇目標按照Heroku官方文件說明放置 tomcat服務與java web專案至heroku上
- 因line bot 在使用reply功能時 , 需要一個中介網址處理回覆內容 , 因此line bot會要求設定 webhook url , line就會將收到的使用者訊息送至此 url , 接著開發者就可以自訂如何回覆使用者的訊息 , 在本篇使用 heroku網站來充當 webhook
- 在開始之前 , 你應已經申請並建立line bot 帳號 (後續才會用到)
- 如果希望line bot有push 送出訊息功能 , 請選用deveopler trial版本
- reply api : 使用者->line bot->使用者
- push api : line bot->使用者
- 至heroku官網申請帳號
- 開起eclipse並建立一個maven web專案
- 選用maven-archetype-webapp 幫我快速建立一個乾淨的maven web專案 , 並且compiler成功 , 可參考maven篇
- 建立一個index.jsp放在webcontent , 內容寫上 hello david
- 建立runtime tomcat 8.0 , 並且新增server並啟用看看是否成功
- pom設置參考官方文件
- 如果編譯無問題, 進行測試
- mvn package
- 在target 目錄下應會產生
- dependency/webapp-runner.jar
- 與專案的war檔
- 打開cmd , 並切換到專案目錄 , 執行指令便會啟動tomcat 與專案
- java -jar target/dependency/webapp-runner.jar target/*.war
- 打開瀏覽器 http://localhost:8080 , 查看是否啟動成功
- 在eclipse專案根目錄新增一個Procfile檔案
- 此檔案為heroku執行指令用
- 檔案內容加上一行 參考網址
- web: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.war
- 這樣heroku就會依照Procfile指令啟動 tomcat 與 java web專案
- 將專案與Procfile檔案完成以後 , 再來就是透過 git 將程式部屬上heroku
- 在 heroku 官方網站 下載安裝檔 並且安裝 heroku和git
- 安裝完畢後 , 開啟 cmd 切換到eclipse專案根目錄的位置 , 即 pom.xml 與 Procfile 同一層
- 登入heroku帳密
- 先為eclipse專案目錄建立git reposity , 並將程式commit
- git init
- git add .
- git commit -m "my initial apps"
- 在heroku建立一個專案並自行定義一個heroku合法的專案名稱linenotice-1
- heroku create --app linenotice-1
- 將本機程式放到heroku , heroku會偵測到程式語言是java , 並且自動為maven專案做 mvn package
- 啟動heroku專案 , 會自動執行 Procfile裡的指令 , 即啟動tomcat與web專案
- 如果有錯誤 , 可以使用 heroku logs查看log
- 查看瀏覽器結果
- 本篇使用免費版 , 當閒置30分鐘無使用 , heroku會將專案關閉
請問後續呢?要如何讓maven網頁跑LINE BOT服務給end user?
回覆刪除放上服務時 , tomcat已經運行
刪除接下來就是把line bot加入line群組 , 群組有人講話時 , 會把訊息送至 line bot後台webhook url上,
url可以設定你自己的heroku, 收到訊息後再用line bot的api 將訊息傳至該群組(必須先取得群組id)
請問一下line回給你的callback那段你的程式碼是如何解析的? 可是否說明一下?謝謝
回覆刪除