diff --git a/src/main/java/space/caoshd/otone/util/CfgConsts.java b/src/main/java/space/caoshd/otone/util/CfgConsts.java index 8b44723..fe5ffe2 100644 --- a/src/main/java/space/caoshd/otone/util/CfgConsts.java +++ b/src/main/java/space/caoshd/otone/util/CfgConsts.java @@ -27,6 +27,7 @@ public class CfgConsts { // 模块配置 public static final String MODULE_MULTIPLE = "module.multiple"; + public static final String MODULE_NAME_AS_PACKAGE_BASE = "module.name.as_package_base"; public static final String MODULE_NAME_CONTROLLER = "module.name.controller"; public static final String MODULE_NAME_SERVICE = "module.name.service"; public static final String MODULE_NAME_REPOSITORY = "module.name.repository"; diff --git a/src/main/java/space/caoshd/otone/util/PathUtils.java b/src/main/java/space/caoshd/otone/util/PathUtils.java index 22ea802..8d010d1 100644 --- a/src/main/java/space/caoshd/otone/util/PathUtils.java +++ b/src/main/java/space/caoshd/otone/util/PathUtils.java @@ -31,6 +31,10 @@ public class PathUtils { return CONFIG.getBoolean(CfgConsts.MODULE_MULTIPLE); } + public static boolean moduleNameAsPackageBase() { + return CONFIG.getBoolean(CfgConsts.MODULE_NAME_AS_PACKAGE_BASE); + } + public static String getJavaPath(String moduleName) { String basePath = getProjectPath(moduleName); String configPath = CONFIG.getString(CfgConsts.PROJECT_PATH_JAVA); @@ -47,7 +51,11 @@ public class PathUtils { String javaPath = getJavaPath(moduleName); String packageName = CONFIG.getString(CfgConsts.PACKAGE_NAME_BASE); String packagePath = packageToPath(packageName); - return Paths.get(javaPath, packagePath, moduleName).toString(); + if (moduleNameAsPackageBase()) { + return Paths.get(javaPath, packagePath, moduleName).toString(); + } else { + return Paths.get(javaPath, packagePath).toString(); + } } public static String getPathBasedPackage( @@ -55,11 +63,10 @@ public class PathUtils { ) { String basePath = getPackageBasePath(moduleName); String packageName = StrUtils.defaultIfBlank(configName, defaultName); - String path = packageToPath(packageName); - return Paths.get(basePath, path).toString(); + String packagePath = packageToPath(packageName); + return Paths.get(basePath, packagePath).toString(); } - public static String getModuleName(String configModuleName, String defaultModuleName) { return isMultiModule() ? StrUtils.defaultIfBlank(configModuleName, defaultModuleName) : ""; } diff --git a/src/test/resources/config/config.properties b/src/test/resources/config/config.properties index e8463a8..fc6c2da 100644 --- a/src/test/resources/config/config.properties +++ b/src/test/resources/config/config.properties @@ -13,6 +13,7 @@ package.name.view=controller.view package.name.controller=controller module.multiple=true +module.name.as_package_base=false module.name.controller=controller module.name.repository=data module.name.service=cmpt