我今年软件体系结构作业是单机版和联机版坦克大战各一个,最后大实验是分布式多车探索地图仿真实验平台,软工和软件体系结构联合验收,坦克大战代码在406mmSKC · GitHub,想要的自己看,大实验代码雏形取自学长,不过学长的比较粗糙,存在一些BUG和性能问题,课程要求也有变化,我进行了大幅修改优化,公开的话不太尊重学长们的知识产权,如果你想要可以私信我(但我不一定看)。
下面主要讲一讲需要的知识,面向一点东西都不会的新手,如果你有JAVA编程经验,可以认为本文章对你无用。
1.开发环境及构建工具
我用的是IDEA,构建工具是Maven,其实一直到我写完坦克大战才知道有这么个好用的东西,之前添加依赖项和构建jar包都是自己一个一个文件下载然后手动添加的,具体方法如下。
假如我想添加一个FastJson的依赖,我得先去官网下一个我需要的FastJson的jar包,文件我已经放在github了,在IDEA中,我们点击左上角的“文件”,“项目结构”,“库”,点击上面的加号,如下图所示:
点这个Java,然后选中你下载下来的依赖的jar包就行了,打包jar包也是在这里,点“工件”,把自己需要的依赖拖进去,然后在上方工具栏里的“构建”,构建工件,就可以得到jar包,但是这样做仅限于小程序,稍微大一点的就不建议这么干了,接下来介绍Maven。
使用Maven构建项目之前需要下载,我建议你首先安装一个AI,有不会的直接问AI就行了,我当时就是看AI看会的,在左上角“文件”,“设置”,“插件”,搜索,我使用的是通义灵码,下载之后登录就行了,我这里说的不清楚的部分都可以问AI。
Maven请自己到官网去下,配置完环境变量后,然后在这里
选中你的Maven Home,我这里装了汉化包,好像是Maven主路径来着,时间有点久,我忘了(不会就问AI),配置成功之后你就可以创建Maven项目了。
Maven项目文件夹下有一个叫pom.xml的文件,里面是依赖信息,如果你想装依赖,直接在里面输入就可以,然后在左边的管理器里右键它,重新加载,会自动给你下载,我建议你换成国内源,要不然容易卡住。我这里展示一下我的pom.xml,你如果不会写可以直接让AI给你写一个。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>origin_control</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.6.5</version>
</dependency>
<!-- Jackson Core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.5</version>
</dependency>
<!-- Jackson Databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
<!-- Jackson Annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.5</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version> <!-- 使用最新版本 -->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>origin_control.printControl</mainClass> <!-- 指定主类 -->
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我已经安装了打包的依赖,所以在下面的终端里输入 mvn package就可以得到jar包,运行可以放在命令行下输入 java -jar 文件名 参数
代码请看我上面提到的Github链接,运行需要的注意事项已经在仓库里写了,这里不多说了。