华为软件精英挑战赛Java工程编译指南

需积分: 0 0 下载量 165 浏览量 更新于2024-08-04 收藏 192KB DOCX 举报
"2021华为软件精英挑战赛提供了工程编译指导,适用于Java语言。比赛要求选手根据提供的SDK进行开发,系统将通过特定的编译和运行脚本来处理参赛者的源码,生成可执行文件。比赛环境基于Linux操作系统,并且强调不使用第三方库,要求使用jdk1.8进行开发。" 在此次2021华为软件精英挑战赛中,参赛者需遵循一定的规则和流程来完成Java项目。首先,所有的源码都会由系统的编译脚本`build.sh`处理,生成最终的可执行文件。这个过程发生在Linux环境下,因此开发者需要对Linux操作系统有一定的了解。 SDK(Software Development Kit)是华为提供给参赛者的重要工具,包含了C/C++、Java和Python三种语言的SDK包。每个SDK包有特定的目录结构,其中Java的SDK包中包含`build.sh`用于编译,以及`startup.sh`用于运行。开发者应当熟悉这些脚本的用途,以便正确地编译和运行自己的代码。 在编译阶段,参赛者需要在本地环境中参照赛题的输入输出示例自行构造测试数据。执行`SDK/SDK_java/build.sh`脚本,这将产生两个关键文件:`CodeCraft-2021.jar`是编译后的Java程序,而`CodeCraft-2021.zip`则是SDK_java目录的完整打包文件。 运行阶段,使用`SDK/SDK_java/bin/startup.sh`来启动程序,命令行输入`sh startup.sh`即可。值得注意的是,Windows用户需要将SDK/SDK_java目录下的所有内容打包成`CodeCraft-2021.zip`,但不包括SDK_java文件夹本身;而在Linux环境下,可以直接运行`SDK/SDK_java/CodeCraft_zip.sh`脚本来打包源码。 对于代码管理,如果添加了新的源文件,必须更新`makelist.txt`文件,添加新文件的路径。此外,比赛规定禁止引用任何第三方库,确保代码的独立性和可执行性。开发环境应使用jdk1.8,这是系统所支持的版本。 最后,参赛者需将`SDK/SDK_java/CodeCraft-2021.zip`文件上传到官方比赛网站进行代码提交。系统会使用相同的`build.sh`和`startup.sh`脚本来编译和运行提交的代码,因此开发者不应修改这些脚本,以确保与比赛平台的一致性。 这个比赛要求参赛者具备扎实的Java编程基础,熟悉Linux环境,以及掌握基本的SDK使用和项目打包技能。同时,对输入输出的自定义测试和对源码的独立性也是比赛中的重要考量因素。