華為軟件精英挑戰(zhàn)賽-如何提交打包Java代碼(運(yùn)行打包)


在上一篇中我們介紹了此次大賽的環(huán)境配置,下面我們來運(yùn)行我們的代碼,并測(cè)試提交(Java版的,C++的小伙伴估計(jì)也差不多吧)。

注意:我的Java程序是按照官網(wǎng)給的SDK編寫,打包時(shí),按個(gè)人情況不同做修改即可。

tips: 使用ctrl+alt+t可以打開終端命令行

第一步

進(jìn)入主文件夾 里面有個(gè)craft文件夾 我們的操作基本都在這里執(zhí)行。
目錄中最初會(huì)有這幾個(gè)文件夾

  • testcase ->測(cè)試用例所在目錄
  • craft.tar.gz ->應(yīng)該是示例打包規(guī)范吧。
  • futureRunner.jar 和 smoke ->應(yīng)該都是測(cè)試你打包后的程序的。
7.png

第二步

在大賽官網(wǎng)我們會(huì)下載下來一個(gè)賽題包。把賽題包和我們的Java項(xiàng)目都通過優(yōu)盤考進(jìn)來吧!如下圖所示:


8.png

在賽題包中,有一個(gè)供java使用的SDK,把他復(fù)制出來:


9.png

讓我們看看這個(gè)SDK文件夾的內(nèi)部構(gòu)造吧:
10.png
  • bin ->該目錄可不是放字節(jié)碼文件的。他是用來存放通過build.sh自動(dòng)化編譯打包產(chǎn)生的jar包的。其中還有個(gè)startup.sh文件,是用來運(yùn)行我們的jar包程序的。
  • code ->此目錄里用來存放我們的java工程 也就是源碼。直接把工程文件夾丟進(jìn)去就好了。
  • test->感覺沒什么卵用
  • build.sh 自動(dòng)化編譯打包腳本
  • makelist.txt 要編譯的所有java文件 包名+類名
    介紹完這些,其實(shí)就可以編譯打包了。在makelist.txt中寫上你所有需要編譯的java文件


    11.png

    這里我只是提供一個(gè)示例,上面是SDK本身自帶的,下面是你添加的。在你的Java工程里根目錄下應(yīng)該也有個(gè)build.txt(沒有新建一個(gè)),一樣的東東,拷貝過去吧~

第三步

執(zhí)行命令 編譯打包
cd 到SDK-java-0.9目錄下,運(yùn)行bulid.sh之前,可以ls -l查看一下build.sh是否有可執(zhí)行權(quán)限:

12.png

看前三位,我第一次運(yùn)行時(shí)只有rw沒有x。所以執(zhí)行chmod 744 build.sh 給其賦予可執(zhí)行權(quán)限。
然后就可以執(zhí)行./build.sh命令了。這之中我又用了一個(gè)問題,意思是javac 和 jar命令未找到。 解決辦法:在命令行中輸入javac,然后它會(huì)提示你下載jdk,用它給的sudo命令下載中間的openjdk7就可以了。

這時(shí)我們?cè)賵?zhí)行./build.sh命令,神奇的事情發(fā)生了,經(jīng)過一系列刷屏,最后提示我們的程序被打包成功:

13.png

這時(shí)我們?cè)赟DK-java-0.9目錄下的bin文件夾下就會(huì)看到我們編譯好的jar包 :


14.png

第四步

通過startup.sh運(yùn)行我們的jar包(可選)
也就是執(zhí)行sh startup.sh命令,看readme里給我們的提示:

sh startup.sh /xxx/topo.csv /xxx/demand.csv /xxx/result.csv
后面三個(gè)是測(cè)試文件路徑,自己根據(jù)自己測(cè)試文件的位置填一下即可。

注意: 執(zhí)行startup.sh命令時(shí)也許看下其有無執(zhí)行權(quán)限,14行報(bào)錯(cuò)問題,我是將 $JAVA 直接改成了java;

第五步

將我們生成的jar包 和 code里的源碼 打成tar.gz形式的壓縮包。
先將我們的jar包和code文件夾移到同一個(gè)目錄下,cd到該目錄,然后執(zhí)行以下命令:
tar zcvf future_net.tar.gz code future_net.jar(你的jar包的名稱)
這時(shí)會(huì)在該目錄下生成一個(gè).tar.gz的壓縮包,把該壓縮包用優(yōu)盤考出來,就可以提交了.
(提交之前可以用官方給的smoke命令測(cè)試下,方法是把壓縮包移動(dòng)到和smoke文件同級(jí)目錄,執(zhí)行./smoke future_net.tar.gz)

到此本文就全部結(jié)束了,小弟提交成功得分不高,就是希望有更多的童鞋可以提交成功。最后祝大家賽出好成績(jī),拿走2oW大獎(jiǎng)和手機(jī)~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容