Java 自动生成JAR文件

Java 自动生成JAR文件,java,maven,jar,Java,Maven,Jar,我有一个maven项目,它将生成一个JAR文件,如果您将其构建为maven安装。 在这个项目中,我有这样一个代码- public class GameBot extends GameController { public int botNumber = 1 Static String botName = "Bot1"; ...// Rest of the code.. } 我想从这个项目中创建大约150个JAR文件,并增加botnumber。例如-JAR文件1应该包含botNumber=1

我有一个maven项目,它将生成一个JAR文件,如果您将其构建为maven安装。 在这个项目中,我有这样一个代码-

public class GameBot extends GameController {
public int botNumber = 1
Static String botName = "Bot1";

...// Rest of the code..

}
我想从这个项目中创建大约150个JAR文件,并增加botnumber。例如-JAR文件1应该包含botNumber=1和botName=Bot1 JAR文件2应该包含botNumber=2和BotName=Bot2。。一直到150

我以前都是手工构建的,现在每次这样构建看起来都很麻烦。因为,如果我在代码中做任何小的更改,我必须重新构建所有150个文件

有人有什么建议吗?比如,我可以自动化这个过程,把所有150个JAR放在一个为我构建的文件夹中吗


谢谢。

为什么不将botNumber外部化为属性文件,并使用shell脚本或批处理文件创建属性文件并构建maven项目呢

Java代码

Shell脚本

批处理文件


上面的示例是5次。

我不知道如何准确地执行此操作,但如果将botName=Bot+botNumber设置为不必每次都更改字符串,是否会有所帮助?这些文件位于哪里?一应俱全?实际上有150个类文件。我不担心混乱。以下是我遵循的步骤-1。在JAVA文件中输入botNumber作为1。2右键单击项目文件夹,然后选择RunAs->Maven Install 3。上一步将在项目目标文件夹内生成一个JAR文件。4将该JAR文件复制到另一个文件夹。5返回JAVA文件并更改botNumber=2,然后重复上述步骤。是否需要在单独的进程中运行所有这些机器人程序?那么,为什么不将bot编号作为main方法的参数呢?还是全部在一个过程中?然后用一个循环创建一个类来实例化150个机器人。不需要150个罐子——这太疯狂了。机器人可以两种方式运行——单独进程和单独进程。这取决于玩游戏时机器人所属的团队。BotName和number很重要,因为bot将使用这些值将其结果更新到数据库中。否则,当我运行这些150个机器人1500次时,我将无法跟踪所有这些机器人。感谢您提出一个可能的解决方案!
Properties properties = new Properties();
properties.load(this.getClass().getResourceAsStream("/bottest.properties"));
botNumber = Integer.parseInt(properties.getProperty("botnumber"));
botName = "Bot"+botNumber;
#!/bin/sh
mvn clean;
for i in {1..5}
do
    echo "botnumber=$i" > ./src/main/resources/bottest.properties;
    mvn install -Dmaven.test.skip;
    cp target/bottest-1.0-SNAPSHOT.jar target/bootest$i.jar
done
echo off
call mvn clean
for /l %%x in (1, 1, 5) do (
   echo botnumber=%%x > .\src\main\resources\bottest.properties
   call mvn install -Dmaven.test.skip
   copy target\bottest-1.0-SNAPSHOT.jar target\bootest%%x.jar
)