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

本文详细描述了如何在IT项目中全局替换包名、模块名、文件前缀,使用gitbash进行文件夹重命名,以及修改XML、YML等文件中的项目名称,并涉及IDEA和git配置的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改项目名

右击项目名称->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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幽·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值