自动生成JAR文件

时间:2014-08-06 23:13:39

标签: java maven jar

我有一个maven项目,如果你将其构建为 Maven Install ,它将生成一个JAR文件。 在这个项目中,我有一个像这样的代码 -

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

...// Rest of the code..

}

我想用增加的botNumbers从这个项目创建大约150个JAR文件。例如 - JAR文件1应包含botNumber = 1和botName = Bot1 JAR文件2应该包含botNumber = 2和BotName = Bot2 ..所以直到150。

我过去常常手动构建这些内容,现在每次构建时看起来很麻烦。因为,如果我在代码中进行任何小的更改,我必须再次构建所有150个文件。

是否有任何人有一些建议,我可以自动化这个过程并将所有150个JAR放在为我构建的文件夹中吗?

感谢。

1 个答案:

答案 0 :(得分:0)

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

Java代码

Properties properties = new Properties();
properties.load(this.getClass().getResourceAsStream("/bottest.properties"));
botNumber = Integer.parseInt(properties.getProperty("botnumber"));
botName = "Bot"+botNumber;

Shell脚本

#!/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
)

上面的例子是5次。