当前位置: 首页 > article >正文

idea 旧项目替换成新项目(项目名称,模块,代码)

文章目录

  • 修改项目名
  • 全局替换包名
  • 替换模块、文件前缀(一定要先替换包名)
  • 局部替换xml、yml等其他文件
  • 修改本地项目文件夹名称
  • 修改git配置

修改项目名

右击项目名称->Refactor->Rename(shift+F6)
在这里插入图片描述

ctrl+alt+shift+s
在这里插入图片描述

全局替换包名

全局选中包名替换:ctrl+shift+r
过滤*.java文件

package com.xxx

在这里插入图片描述

替换模块、文件前缀(一定要先替换包名)

git bash执行如下脚本

#/bin/bash  
# 单目录替换 for f in old-prefix*; do mv "$f" "${f/old-prefix/new-prefix}"; done
# 定义要修改的文件夹、文件前缀以及项目所在目录比如模块acri-core,包名com.xxx.acri.core,要修改为arpc,自定义类AcriConfig改为ArpcConfig
old_prefix="acri"  
new_prefix="arpc"  
targetDir="/c/Users/admin/ideaProject/项目根目录"
old_file_prefix="Acri"  
new_file_prefix="Arpc"   

# 该对象数组用于倒序处理非空目录重命名  
no_empty_old=()
no_empty_new=()
no_empty_file=()

# 递归函数重命名当前目录下所有子文件夹前缀
rename_folders() {  
    local dir=$1  
    echo $1
    for file in "$dir"/*; do  
        # 如果是目录(替换项目模块前缀)
        if [ -d $file ] && [ "$(ls -A $file)" ]; then
            # 非空目录
            local new_name="${file##*/}"   #原文件名称
            no_empty_file+=("$new_name") 
            no_empty_old+=("$file") 
            new_name="${new_prefix}${new_name#$old_prefix}" 
            no_empty_new+=("$dir/$new_name") 
            
            rename_folders "$file"  
        else
            if [ -d $file ] ; then
                # 空目录
                local new_name="${file##*/}"  
                echo "$new_name"
                # 包含才删除
                if [[ $new_name == "$old_prefix"* ]]; then
                    new_name="${new_prefix}${new_name#$old_prefix}"  
                    echo "$new_name"
                    mv "$file" "$dir/$new_name"  
                fi
            else
            	#文件
                local new_name="${file##*/}"  
                if [[ $new_name == "$old_file_prefix"* ]]; then
                    new_name="${new_file_prefix}${new_name#$old_file_prefix}"  
                    mv "$file" "$dir/$new_name"  
                fi
            fi
        fi
    done  
}  
  
rename_folders "$targetDir"

# 处理非空目录重命名
for ((i=${#no_empty_old[@]}-1; i>=0; i--)); do  
    echo "oldDir:${no_empty_old[i]},newDir:${no_empty_new[i]} "  
    new_name=${no_empty_file[i]}
    if [[ $new_name == "$old_prefix"* ]]; then
        new_name="${new_prefix}${new_name#$old_prefix}"  
        echo "$new_name"
        mv ${no_empty_old[i]} ${no_empty_new[i]}
    fi
done
  

局部替换xml、yml等其他文件

涉及项目名称的字符串进行替换

当前文件中按下替换快捷键:ctrl+r

在这里插入图片描述

修改本地项目文件夹名称

关闭idea,通过文件夹资源管理修改项目本地文件夹名称,或者通过git bash 命令修改
在这里插入图片描述

mv Acri Arpc

修改git配置

如果之前远程存在项目,远程的根路径改成新项目路径了

git remote set-url origin xxxx

http://www.kler.cn/a/152930.html

相关文章:

  • 最小化安装 Neokylin7.0 用于搭建 Hadoop 集群
  • 杠杆交易和合约交易
  • 办公软件PDF转换工具 - Bruce的PDF工具pdftool
  • python中的字符串
  • 【JavaScript框架】Vue与React中的组件框架概念
  • RNN:文本生成
  • Codebeamer—软件全生命周期管理轻量级平台
  • 12月01日,每日信息差//阿里国际发布3款AI设计生态工具//美团买菜升级为“小象超市”//外国人永居证换新、6国游客免签来华
  • iPhone苹果手机如何将词令网页添加到苹果iPhone手机桌面快捷打开?
  • 这是怎么了?继阿里11月故障后,淘宝这个问题20 天了还未修复!
  • C#,《小白学程序》第十八课:随机数(Random)第五,方差及标准方差(标准差)的计算方法与代码
  • 豆粕期权 MVIX 指数构建及策略回测
  • 【Linux】:信号(三)捕捉
  • YOLOv8优化策略:SENetV2,squeeze和excitation全面升级,效果优于SENet | 2023年11月最新成果
  • 2023年第十二届数学建模国际赛小美赛C题雪崩防范求解分析
  • 【C语言学习疑难杂症】C语言中数组存储时为什么从低地址到高地址
  • vue 表格虚拟滚动
  • java第二十六课
  • k8S 发布spring boot的jar包
  • 分析Pun老师的论文