1. 修复服务与模块生成器,未正确全量替换端口的错误
This commit is contained in:
@@ -158,6 +158,28 @@ public class ModuleGenerator {
|
||||
return processErrorCodeConstants(content, moduleName, packageName, author);
|
||||
}
|
||||
|
||||
// 处理配置文件
|
||||
if (fileName.endsWith(".yml") || fileName.endsWith(".yaml")) {
|
||||
String newContent = content;
|
||||
|
||||
// 替换应用名称
|
||||
newContent = newContent.replace("name: yudao-module-template-server", "name: yudao-module-" + moduleName + "-server");
|
||||
|
||||
// 处理端口配置
|
||||
if (newContent.contains("port:")) {
|
||||
// 使用更精确的正则表达式来匹配端口行
|
||||
newContent = newContent.replaceAll("(?m)^(\\s*)port:\\s*\\d+\\s*$", "$1port: " + port);
|
||||
} else if (newContent.contains("server:")) {
|
||||
// 如果有server配置但没有port,在server下添加port
|
||||
newContent = newContent.replaceAll("(?m)^(\\s*)server:\\s*$", "$1server:\n$1 port: " + port);
|
||||
} else {
|
||||
// 如果完全没有server配置,在文件开头添加
|
||||
newContent = "server:\n port: " + port + "\n\n" + newContent;
|
||||
}
|
||||
|
||||
return newContent;
|
||||
}
|
||||
|
||||
return content.replace("yudao-module-template", "yudao-module-" + moduleName)
|
||||
.replace("cn.iocoder.yudao.module.template", BASE_PACKAGE + packageName)
|
||||
.replace("TemplateServerApplication", capitalizedModuleName + "ServerApplication")
|
||||
|
||||
@@ -35,10 +35,7 @@ public class ServerGenerator {
|
||||
int startPort = Integer.parseInt(scanner.nextLine());
|
||||
scanner.close();
|
||||
|
||||
// 分割服务器名
|
||||
String[] servers = baseNames.split(",");
|
||||
|
||||
// 分割服务器名
|
||||
// 分割服务名
|
||||
String[] servers = baseNames.split(",");
|
||||
|
||||
// 2. 定义项目根路径
|
||||
@@ -149,17 +146,22 @@ public class ServerGenerator {
|
||||
// 移除对 yudao-module-xxx-server 的依赖,但保留 system-server 和 infra-server
|
||||
return newContent.replaceAll("(?m)^\\s*<dependency>\\s*<groupId>cn\\.iocoder\\.cloud</groupId>\\s*<artifactId>yudao-module-(?!system-server|infra-server).*-server</artifactId>[\\s\\S]*?</dependency>\\s*", "");
|
||||
case "application.yaml":
|
||||
case "application.yml":
|
||||
// 替换应用名称和端口号
|
||||
case "application-dev.yaml":
|
||||
case "application-prod.yaml":
|
||||
case "application-test.yaml":
|
||||
case "application-local.yaml":
|
||||
// 替换应用名称
|
||||
newContent = newContent.replace("name: yudao-server", "name: " + serverName);
|
||||
// 如果有端口配置,替换端口号,如果没有则添加端口配置
|
||||
if (newContent.contains("server:")) {
|
||||
if (newContent.contains("port:")) {
|
||||
newContent = newContent.replaceAll("(?m)^\\s*port:.*$", " port: " + port);
|
||||
} else {
|
||||
newContent = newContent.replace("server:", "server:\n port: " + port);
|
||||
}
|
||||
|
||||
// 处理端口配置 - 更精确的替换逻辑
|
||||
if (newContent.contains("port:")) {
|
||||
// 使用更精确的正则表达式来匹配端口行
|
||||
newContent = newContent.replaceAll("(?m)^(\\s*)port:\\s*\\d+\\s*$", "$1port: " + port);
|
||||
} else if (newContent.contains("server:")) {
|
||||
// 如果有server配置但没有port,在server下添加port
|
||||
newContent = newContent.replaceAll("(?m)^(\\s*)server:\\s*$", "$1server:\n$1 port: " + port);
|
||||
} else {
|
||||
// 如果完全没有server配置,在文件开头添加
|
||||
newContent = "server:\n port: " + port + "\n\n" + newContent;
|
||||
}
|
||||
return newContent;
|
||||
|
||||
Reference in New Issue
Block a user