在上一篇中我们介绍了此次大赛的环境配置,下面我们来运行我们的代码,并测试提交(Java版的,C++的小伙伴估计也差不多吧)。

注意:我的Java程序是按照官网给的SDK编写,打包时,按个人情况不同做修改即可。

tips: 使用ctrl+alt+t可以打开终端命令行

第一步

进入主文件夹 里面有个craft文件夹 我们的操作基本都在这里执行。

目录中最初会有这几个文件夹

testcase ->测试用例所在目录

craft.tar.gz ->应该是示例打包规范吧。

futureRunner.jar 和 smoke ->应该都是测试你打包后的程序的。

7.png

第二步

在大赛官网我们会下载下来一个赛题包。把赛题包和我们的Java项目都通过优盘考进来吧!如下图所示:

8.png

在赛题包中,有一个供java使用的SDK,把他复制出来:

9.png

让我们看看这个SDK文件夹的内部构造吧:

10.png

bin ->该目录可不是放字节码文件的。他是用来存放通过build.sh自动化编译打包产生的jar包的。其中还有个startup.sh文件,是用来运行我们的jar包程序的。

code ->此目录里用来存放我们的java工程 也就是源码。直接把工程文件夹丢进去就好了。

test->感觉没什么卵用

build.sh 自动化编译打包脚本

makelist.txt 要编译的所有java文件 包名+类名

介绍完这些,其实就可以编译打包了。在makelist.txt中写上你所有需要编译的java文件

11.png

这里我只是提供一个示例,上面是SDK本身自带的,下面是你添加的。在你的Java工程里根目录下应该也有个build.txt(没有新建一个),一样的东东,拷贝过去吧~

第三步

执行命令 编译打包

cd 到SDK-java-0.9目录下,运行bulid.sh之前,可以ls -l查看一下build.sh是否有可执行权限:

12.png

看前三位,我第一次运行时只有rw没有x。所以执行chmod 744 build.sh 给其赋予可执行权限。

然后就可以执行./build.sh命令了。这之中我又用了一个问题,意思是javac 和 jar命令未找到。 解决办法:在命令行中输入javac,然后它会提示你下载jdk,用它给的sudo命令下载中间的openjdk7就可以了。

这时我们再执行./build.sh命令,神奇的事情发生了,经过一系列刷屏,最后提示我们的程序被打包成功:

13.png

这时我们在SDK-java-0.9目录下的bin文件夹下就会看到我们编译好的jar包 :

14.png

第四步

通过startup.sh运行我们的jar包(可选)

也就是执行sh startup.sh命令,看readme里给我们的提示:

sh startup.sh /xxx/topo.csv /xxx/demand.csv /xxx/result.csv

后面三个是测试文件路径,自己根据自己测试文件的位置填一下即可。

注意: 执行startup.sh命令时也许看下其有无执行权限,14行报错问题,我是将 $JAVA 直接改成了java;

第五步

将我们生成的jar包 和 code里的源码 打成tar.gz形式的压缩包。

先将我们的jar包和code文件夹移到同一个目录下,cd到该目录,然后执行以下命令:

tar zcvf future_net.tar.gz code future_net.jar(你的jar包的名称)

这时会在该目录下生成一个.tar.gz的压缩包,把该压缩包用优盘考出来,就可以提交了.

(提交之前可以用官方给的smoke命令测试下,方法是把压缩包移动到和smoke文件同级目录,执行./smoke future_net.tar.gz)

到此本文就全部结束了,小弟提交成功得分不高,就是希望有更多的童鞋可以提交成功。最后祝大家赛出好成绩,拿走2oW大奖和手机~~

华为软件训练营Java_华为软件精英挑战赛-如何提交打包Java代码(运行打包)相关推荐

  1. 2018年华为精英挑战赛初赛放置算法Java实现

    放置阶段我用动态规划算法,java源码如下: import java.util.ArrayList; /**输入:服务器规格.虚拟机规格及预测数目.要优化资源维度 * 输出:放置结果和预测结果,以给定 ...

  2. 华为od试题java_华为od社招一面凉经

    毕业于985院校,工作9年,1年半 c++,5年移动运营商java,2年海口某500强企业java,想去深圳发展. 一面已挂,面试体验非常差. 6.2 开始说要去深圳,后来说在家视频面试也可以,然后饭 ...

  3. 华为机试java_华为java机试面试题目大全

    题目: 有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人. 输入: 输入人数字符串 输出:把最后一个人所保留位置返回出来. 比如你输入11 的话即有11个人 [1,2,3,4, ...

  4. matlab程序转java_用面向对象的方法将一段JAVA代码转化为matlab

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class Variable { /*list of variables this variable is connected to. */ ...

  5. 调用servlet java_请问调用servlet并从JavaScript调用Java代码以及参数

    发送POST时,添加标题xhttp.setRequestHeader("Contenttype"."application/x-www-form-urlencode&qu ...

  6. 智能合约转java_第四章 自定义sol合约转化java代码,并实现调用

    鉴于笔者以前各大博客教程都有很多人提问,早期建立一个技术交流群,里面技术体系可能比较杂,想了解相关区块链开发,技术提问,请加QQ群:538327407 准备工作 1.官方参考说明文档 2.已经在ubu ...

  7. 公众平台 java_微信公众平台开发详细步骤与java代码

    1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 登录微信公众平台后台,在左侧列表中最下方,找到" 基本配置 ...

  8. # 2021华为软件精英挑战赛C/C++——build.sh/build_and_run.sh/CodeCraft_zip.sh注释

    2021华为软件精英挑战赛C/C++--build.sh/build_and_run.sh/CodeCraft_zip.sh注释 1.build.sh #!/bin/bashSCRIPT=$(read ...

  9. 2021华为软件精英挑战赛(附赠线下判题器链接)——经历

    2021华为软件精英挑战赛(附赠线下判题器链接)--经历 1.题目解析 本次赛题源自现实的互联网企业面临的问题,怎样购买与部署服务器最便宜! 服务器:不相同型号的服务器有着不同的CPU与不同的内存,每 ...

最新文章

  1. PyCharm配置anaconda环境 安装第三方库
  2. python中的json_python中json的使用
  3. 鹤岗一中2021年高考成绩查询,2021鹤岗市地区高考成绩排名查询,鹤岗市高考各高中成绩喜报榜单...
  4. Java并发(一)——线程
  5. linux group管理,LINUX-用户和组管理
  6. MongoDB 主从复制(主从集群 )
  7. MESSAGE消息发送失败
  8. 人脸识别全国产化电子元件推荐方案
  9. android蓝牙动态权限,Android蓝牙权限
  10. 盛世昊通谈跨界造车风潮,不同车企到底打什么主意
  11. 对计算机科学与技术专业的认识和思考,计算机科学与技术专业的认识与思考
  12. 按摩器具抽查三成不合格 选购需注意哪些?
  13. 提取Windows主题中的图片
  14. kobject(转载)
  15. 通过调用Word模板(Doc、dot)直接打印 z
  16. NTSTATUS类型返回值及含义
  17. DV通配符证书申请方式及特点
  18. 赋能数智化· 从数据到价值转变 | GCT冠骋信息高科技电子行业智能制造高端研讨会成功举办
  19. 怎么利用Xshell 上传文件到Centos7 Xshell怎么上传文件
  20. App 调试的几个命令实践

热门文章

  1. ENVI教程:InSAR技术,基线估算
  2. 汉字转换成拼音用函数
  3. 深度学习代码中的希腊字母对应
  4. php aescbc偏移量不对称,关于前端AES加密与后台不同的问题。
  5. 数据开发面试题2020总结
  6. 日积月累Day6(为什么家庭会生病)
  7. SSL-ZYC 2547 圆环
  8. AVI转MP3的软件
  9. 2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录
  10. 南京理工大学计算机研究生预答辩,南京理工大学学位论文答辩会议程和有关事项...