手机如何打包java_华为软件精英挑战赛-如何提交打包Java代码(运行打包)

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

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

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

第一步

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

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

testcase ->测试用例所在目录

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

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

7b9db1817456?from=groupmessage

7.png

第二步

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

7b9db1817456?from=groupmessage

8.png

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

7b9db1817456?from=groupmessage

9.png

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

7b9db1817456?from=groupmessage

10.png

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

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

test->感觉没什么卵用

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

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

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

7b9db1817456?from=groupmessage

11.png

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

第三步

执行命令 编译打包

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

7b9db1817456?from=groupmessage

12.png

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

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

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

7b9db1817456?from=groupmessage

13.png

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

7b9db1817456?from=groupmessage

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大奖和手机~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值