in initializer-generator/src/main/java/com/alibaba/initializer/generation/extension/build/maven/SpringBootBomMavenCustomizer.java [50:78]
public void customize(MavenBuild build) {
InitializrConfiguration.Env.Maven maven = this.metadata.getConfiguration().getEnv().getMaven();
String springBootVersion = this.description.getPlatformVersion().toString();
InitializrConfiguration.Env.Maven.ParentPom parentPom = maven.resolveParentPom(springBootVersion);
if (!build.plugins().has("org.springframework.boot", "spring-boot-maven-plugin")) {
return;
}
if (!parentPom.isIncludeSpringBootBom()) {
return;
}
// ugly !!!!!!
try {
Field parendField = build.settings().getClass().getDeclaredField("parent");
parendField.setAccessible(true);
parendField.set(build.settings(), null);
} catch (Exception e) {
throw new IllegalStateException("remove parent node error", e);
}
build.plugins().remove("org.springframework.boot", "spring-boot-maven-plugin");
build.plugins().add("org.springframework.boot", "spring-boot-maven-plugin", builder -> {
builder.version(springBootVersion);
builder.execution("repackage", execution -> execution.goal("repackage"));
builder.configuration(conf -> conf.add("mainClass", description.getPackageName() + "." + description.getApplicationName()));
}
);
}