iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Software Development

我們與Maven的距離系列 第 3

Day02 - Super Simple Java Jar Application

  • 分享至 

  • xImage
  •  

前言

身為攻城獅我們先以一個最簡單的案例來貫穿我們日常的作業的所有場景。

需求

我們有一個場景,需要在Windows主機上透過windows排程設定每隔一段時間執行一個程式,當然他可以是定時丟擋到別的主機或是檔案處理,可以是任何你想像的。這邊為求Super Simple就讓我們吐出字串在console為例。

開發

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(new HelloWorld().helloString());
    }
    public String helloString() {
       return "Hello, World!";
    }
}

測試

身為一點也不專業的攻城獅我們就用肉眼當作測試完成,編譯->執行->確認->大功告成!!!
https://ithelp.ithome.com.tw/upload/images/20250917/20128084TVldrljfzM.png

打包

為了可以讓windows排程執行,我們把它打包成可執行的jar,編譯->打包

javac HelloWorld.java
jar cfe MyApp.jar HelloWorld HelloWorld.class

可以由jar --help知道c為create new achive,f為指定achive file name,e為指定application entry point
打包結果成功
https://ithelp.ithome.com.tw/upload/images/20250917/20128084Z5t8V4vXtu.png

部署

我們將程式放在資料夾MyApp下,並設定windows排程執行run.bat執行我們的程式
https://ithelp.ithome.com.tw/upload/images/20250917/20128084Wg83fnBiIn.png
執行結果
https://ithelp.ithome.com.tw/upload/images/20250917/20128084u991Nc4Tcz.png
附上run.bat

@echo off
java -jar "H:\MyApp\MyApp.jar"
pause

小結

我們手動作了開發、測試、部署的工作,一旦程式碼有異動你就會需要執行以下,是不是相當繁瑣呢
https://ithelp.ithome.com.tw/upload/images/20250917/20128084QxXPXuFB8s.png
回過頭看我們的專案目錄,是不是變得很零亂
https://ithelp.ithome.com.tw/upload/images/20250917/20128084R5on8xfE1x.png
我們應該把原始程式碼與編譯部署檔案分開

Reference


上一篇
Day01 - Enviroment Setup
系列文
我們與Maven的距離3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言