国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

idea把項(xiàng)目打成jar包步驟詳解

這篇具有很好參考價(jià)值的文章主要介紹了idea把項(xiàng)目打成jar包步驟詳解。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? ? ? ? 最近產(chǎn)品需要預(yù)研一個(gè)小功能,開始后在本地開發(fā)測試好之后,需要打成jar提供出去,今天弄完了,決定把這個(gè)步驟記錄下來,便于以后輕車熟路。

? ? ? ? 打成jar要有mian方法的入口,所以我們在代碼中需要定義一個(gè)main方法,然后通過這個(gè)main方法調(diào)用我們的核心邏輯代碼。下面是我的代碼示例:

public static void main(String[] args)
    {
        System.out.println("啟動(dòng)成功");
        JSONObject json = new JSONObject();
        //要處理的文件路徑
        json.put("filePath",args[0]);
        //休眠秒數(shù)的因子
        json.put("millisecond",args[1]);
        //輸出文件的路徑
        json.put("writeFilePath",args[2]);
        //輸出文件的名稱(需提前創(chuàng)建)
        json.put("writeFileName",args[3]);
        //打印參數(shù)
        System.out.println(json.toJSONString());
        //調(diào)用核心處理方法
        getData(json);
    }

核心代碼:

/**
     * 獲取數(shù)據(jù)
     * @param params
     * @return
     */
    private static JSONObject getData(@RequestBody JSONObject params)
    {
        JSONObject ret = new JSONObject();
        ret.put("code","1");
        ret.put("message","執(zhí)行成功");
        //String filePath = PropertiesUtil.getProp(PropertiesUtil.FILE_SYSTEM, "splib.barcode.path") + "/sp_barcode_200.txt";
        String filePath = params.getString("filePath");
        Long milliseconds = StringUtil.toLong(params.get("millisecond"));
        List<String> result = new ArrayList<>();
        try (FileReader fileReader = new FileReader(filePath);
                BufferedReader bufferedReader = new BufferedReader(fileReader)) {
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                // 在這里根據(jù)實(shí)際需求對每一行進(jìn)行處理
                if(StringUtil.isNotEmpty(line)){
                    int random = (int) (Math.random() * StringUtil.toInteger(milliseconds));
                    logger.info("休眠{}毫秒再執(zhí)行",random);
                    System.out.println(String.format("休眠%s毫秒再執(zhí)行>>>>>>>",random));
                    Thread.sleep(random);
                    String barcode = line.replace(",", "");
                    String s1 = HttpUtils.httpClientGet(String.format(GDS_API_URL,barcode), 4000);
                    System.out.println("s1>>>>>>>" + s1);
                    String s2 = HttpUtils.httpClientGet(String.format("%s%s",GDS_URL,barcode), 4000);
                    System.out.println("s2>>>>>>>" + s2);
                    result.add(s2);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
            logger.error("io異常:",e);
            ret.put("code","0");
            ret.put("message","執(zhí)行失敗");
        }catch(InterruptedException e){
            e.printStackTrace();
            logger.error("InterruptedException異常:",e);
            ret.put("code","0");
            ret.put("message","執(zhí)行失敗");
        }
        if(CollectionUtil.isNotEmpty(result)){
            String code = writeTxt(params.getString("writeFilePath"), params.getString("writeFileName"), result);
            if(!"1".equals(code)){
                ret.put("code","0");
                ret.put("message","寫文件失敗");
            }
        }
        return ret;
    }

    /**
     * 寫文件
     */
    private static String writeTxt(String filePath,String fileName,List<String> list){
        // 指定文件路徑和文件名
        /*String filePath = "D:";
        String fileName = "sp_barcode_test.txt";*/

        // 創(chuàng)建BufferedWriter對象
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath + "/" + fileName))) {
            // 將List<String>中的每個(gè)元素寫入文件中
            for (String str : list) {
                writer.write(str);
                writer.newLine(); // 寫入換行符
            }
            System.out.println("文件已成功寫入!");
            logger.info("文件已成功寫入");
            return "1";
        } catch (IOException e) {
            System.out.println("寫入文件時(shí)出現(xiàn)錯(cuò)誤:" + e.getMessage());
            logger.error("寫入文件時(shí)出現(xiàn)錯(cuò)誤:",e);
            return "0";
        }
    }

上面是我的代碼示例,只是給大家一個(gè)演示,不必關(guān)心里面的功能。下面來演示如何把該文件所在項(xiàng)目打成jar包。

1.點(diǎn)擊 File ==> Project Structure ==> Artifacts ==> 點(diǎn)擊加號 ==> 選擇JAR ==> 選擇From modules with dependencies

idea把項(xiàng)目打成jar包步驟詳解,Java,jar,java

?我們需要把所依賴的其他項(xiàng)目包都打進(jìn)來的話,按下圖所示

idea把項(xiàng)目打成jar包步驟詳解,Java,jar,java? 點(diǎn)擊ok===>apply===>繼續(xù)ok

idea把項(xiàng)目打成jar包步驟詳解,Java,jar,java

選擇Build===>build artifact,找到自己的jar包那條目錄

先點(diǎn)擊 clear 進(jìn)行清除,然后再點(diǎn)擊 Build 進(jìn)行構(gòu)建,就可以打成一個(gè)jar包了,就可以在我們設(shè)置的輸出目錄看到對應(yīng)的jar包了

idea把項(xiàng)目打成jar包步驟詳解,Java,jar,java

我此處把這個(gè)目錄壓縮成.zip包,便于上傳到服務(wù)器。

連上服務(wù)器,建好對應(yīng)項(xiàng)目的文件夾(注意目錄權(quán)限),rz命令上傳zip包,unzip解壓

由于我的main方法中需要傳四個(gè)參數(shù),不然程序運(yùn)行會報(bào)錯(cuò),所以啟動(dòng)的時(shí)候,需要在命令行傳上所需的參數(shù):

java -jar spcenter.jar \/home\/spcenter\/spcenter_jar\/sp_barcode.txt 10000 \/home\/spcenter\/spcenter_jar test.txt

說明:
要處理的文件:\/home\/spcenter\/spcenter_jar\/sp_barcode.txt
隨機(jī)數(shù)的參數(shù):10000 
輸出文件目錄:\/home\/spcenter\/spcenter_jar
輸出文件名稱:test.txt

idea把項(xiàng)目打成jar包步驟詳解,Java,jar,java到這就搞定了,完工。功能不復(fù)雜,但是涉及的知識點(diǎn)挺多的,希望能幫助到大家文章來源地址http://www.zghlxwxcb.cn/news/detail-712680.html

到了這里,關(guān)于idea把項(xiàng)目打成jar包步驟詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 打成jar包運(yùn)行之后報(bào)錯(cuò),java.io.FileNotFoundException:(已解決)

    打成jar包運(yùn)行之后報(bào)錯(cuò),java.io.FileNotFoundException:(已解決)

    今天項(xiàng)目測試時(shí),遇到一個(gè)問題,因?yàn)榈谝淮斡龅剑杂涗浺幌拢?1、問題情況如下: ? ? ? ? 存放在項(xiàng)目resources目錄下的靜態(tài)資源文件,需要在接口調(diào)用時(shí),將其copy到其他文件位置,但是打包后運(yùn)行,調(diào)用時(shí)報(bào)錯(cuò)FileNotFoundException。 ? ? ? ? 開發(fā)中代碼調(diào)試沒有問題,但

    2024年02月15日
    瀏覽(25)
  • IDEA打成JAR包

    IDEA打成JAR包

    一、場景需求 ? 當(dāng)我們需要將Java項(xiàng)目文件轉(zhuǎn)為exe文件時(shí),需要首先將Java項(xiàng)目文件打包成jar文件。這里我們以常用的Java開發(fā)IDE-IDEA為例,講解打包jar文件的具體步驟。 二、具體步驟 在項(xiàng)目代碼功能都測試無誤后,接下來進(jìn)行工程文件的打包。 菜單欄點(diǎn)擊File后,選擇Project

    2024年02月16日
    瀏覽(21)
  • idea 創(chuàng)建java項(xiàng)目,引入第三方j(luò)ar,打包jar包

    idea 創(chuàng)建java項(xiàng)目,引入第三方j(luò)ar,打包jar包

    前提:已安裝好JDK,并且配置好了JDK環(huán)境變量。 直接點(diǎn)擊create創(chuàng)建即可 剛創(chuàng)建完的項(xiàng)目可能是沒有out目錄的,當(dāng)我們執(zhí)行一次main方法,代碼會經(jīng)過編譯,然后生成out目錄 打印輸出結(jié)果,我們第一個(gè)java Hello word 就執(zhí)行完啦。 創(chuàng)建Java文件和包 下載jar包的網(wǎng)站:https://mvnrepos

    2024年02月11日
    瀏覽(30)
  • JAVA項(xiàng)目通過IDEA如何構(gòu)建可執(zhí)行JAR

    JAVA項(xiàng)目通過IDEA如何構(gòu)建可執(zhí)行JAR

    開發(fā)JAVA工程代碼(main方法啟動(dòng))如何構(gòu)建出可以通過java -jar命令直接執(zhí)行的jar?如果工程中依賴其他jar又如何處理?本文即針對以上兩點(diǎn)通過IDEA開發(fā)工具來做一個(gè)簡單的分析和嘗試,測試如下四種方法,如有瑕疵請輕噴。 如下所示通過IDEA創(chuàng)建一個(gè)本地JAVA工程,此處工程名J

    2024年02月04日
    瀏覽(18)
  • idea啟動(dòng)正常,打成jar包時(shí),啟動(dòng)報(bào)錯(cuò)

    背景 自己寫了個(gè)小程序,在idea中啟動(dòng)正常,達(dá)成jar包發(fā)布時(shí),啟動(dòng)報(bào)錯(cuò)。 Caused by: java.sql.SQLException: unknown jdbc driver : at com.alibaba.druid.util.JdbcUtils.getDriverClassName(JdbcUtils.java:517) at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1203) at com.alibaba.druid.pool.DruidDataSource.init(

    2024年02月11日
    瀏覽(21)
  • IDEA——將Java項(xiàng)目打包成可執(zhí)行的Jar包

    IDEA——將Java項(xiàng)目打包成可執(zhí)行的Jar包

    在Java開發(fā)中,我們通常會將我們的項(xiàng)目打包成可執(zhí)行的Jar包,以便于在其他環(huán)境中部署和運(yùn)行。本文將介紹如何使用IDEA集成開發(fā)環(huán)境將Java項(xiàng)目打包成可執(zhí)行的Jar包。 步驟一:配置項(xiàng)目的執(zhí)行入口 在開始之前,確保你的Java項(xiàng)目中已經(jīng)配置了一個(gè)執(zhí)行入口類(通常是包含mai

    2024年02月16日
    瀏覽(24)
  • 2023 最新版IntelliJ IDEA 2023.1創(chuàng)建Java Web前(vue3)后端(spring-boot3)分離 項(xiàng)目詳細(xì)步驟(圖文詳解)

    2023 最新版IntelliJ IDEA 2023.1創(chuàng)建Java Web前(vue3)后端(spring-boot3)分離 項(xiàng)目詳細(xì)步驟(圖文詳解)

    2023 最新版IntelliJ IDEA 2023.1創(chuàng)建Java Web 項(xiàng)目詳細(xì)步驟(圖文詳解) 本篇使用當(dāng)前Java Web開發(fā)主流的spring-boot3框架來創(chuàng)建一個(gè)Java前后端分離的項(xiàng)目,前端使用的也是目前前端主流的vue3進(jìn)行一個(gè)簡單的項(xiàng)目搭建,讓你距離Java全棧開發(fā)更近一步 ?????。 使用版本: “17.0.1”

    2024年02月12日
    瀏覽(33)
  • IDEA中Java項(xiàng)目創(chuàng)建lib目錄(添加依賴jar包代替maven依賴)

    IDEA中Java項(xiàng)目創(chuàng)建lib目錄(添加依賴jar包代替maven依賴)

    然后就可以使用我們自己構(gòu)建lib目錄中的jar包,開發(fā)項(xiàng)目啦

    2024年02月11日
    瀏覽(24)
  • 【Java——maven的使用與idea創(chuàng)建maven項(xiàng)目,導(dǎo)入maven依賴(jar包)】

    【Java——maven的使用與idea創(chuàng)建maven項(xiàng)目,導(dǎo)入maven依賴(jar包)】

    1.1、打開maven安裝路徑下的conf文件夾,找到里面的settings.xml文件,(如果使用的是maven安裝程序安裝的maven,則settings.xml文件和本地倉庫位置在默認(rèn)位置:C:Userspenglei.m2)將下面的代碼復(fù)制里面,切記不要放到注釋里面 1.2、maven項(xiàng)目全局默認(rèn)配置jdk版本信息,將下面的代碼復(fù)制

    2024年02月08日
    瀏覽(103)
  • 通過exe4j將 java 項(xiàng)目(jar)打包成exe可執(zhí)行文件(詳細(xì)步驟)

    通過exe4j將 java 項(xiàng)目(jar)打包成exe可執(zhí)行文件(詳細(xì)步驟)

    通過exe4j將 java 項(xiàng)目(jar)打包成exe可執(zhí)行文件 文章目錄 文章目錄 一、下載安裝 二、使用步驟 下載鏈接: ej-technologies - Java APM, Java Profiler, Java Installer Builder ?安裝只需一直下一步即可。 1.輸入注冊碼“L-g782dn2d-1f1yqxx1rv1sqd”。 2.如下圖: 3.如下圖: 4.如下圖: 5.如下圖:

    2024年02月16日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包