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 $1for 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"  elseif [ -d $file ] ; then# 空目录local new_name="${file##*/}"  echo "$new_name"# 包含才删除if [[ $new_name == "$old_prefix"* ]]; thennew_name="${new_prefix}${new_name#$old_prefix}"  echo "$new_name"mv "$file" "$dir/$new_name"  fielse#文件local new_name="${file##*/}"  if [[ $new_name == "$old_file_prefix"* ]]; thennew_name="${new_file_prefix}${new_name#$old_file_prefix}"  mv "$file" "$dir/$new_name"  fififidone  
}  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"* ]]; thennew_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.mzph.cn/news/191155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++入门篇第十篇----继承

前言: 本篇我们将开始讲解C的继承,我想要说的是,C的主体基本就是围绕类和对象展开的,继承也是以类和对象为主体,可以说,C相较于C优化的地方就在于它对于结构体的使用方法的高度扩展和适用于更多实际的场景…

如何查看linux块大小

1.fdisk -l 查看块大小: [rootlocalhost alice]# fdisk -l Disk /dev/sda:300 GiB,322122547200 字节,629145600 个扇区 单元:扇区 / 1 * 512 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小…

go使用aes加密算法

工具代码 package toolimport ("bytes""crypto/aes""crypto/cipher" )// AES加密函数 var key []byte []byte("0#3456789ABCDEF") //todo 记住这个长度只能是16 24 32 如果不是的话话会报错 func Encrypt(data []byte) ([]byte, er…

说一说MySQL中的锁机制

说一说MySQL中的锁机制 按粒度大小从大到小分为 全局锁 全局锁 全局锁是对整个数据库的锁,最常用的全局锁就是读写锁 读锁 阻止其他用户更新数据,允许其他用户读数据写锁 阻止其他用户更新和读数据 修改一些大量的数据,并且不希望其他用户…

Java语法之字符串类型

String类 在Java中,使用String类定义字符串类型,如下: String s1"hello";System.out.println(s1); 字符串拼接 只要s1s2即可 在字符串中,如果俩个字符串进行相加,那他就是字符串拼接的意思 补充 如上&am…

ARM架构基础简介

目录 一、概述 二、关于ARM架构 三、我们所说的架构是什么意思? 四、系统架构

c++异常介绍

一 . C语言传统的处理错误的方式 1. 终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。2. 返回错误码,缺陷:需要程序员自己去查找对应的错误。 二 . C异常概念及使用 当一个…

6.7 Windows驱动开发:内核枚举LoadImage映像回调

在笔者之前的文章《内核特征码搜索函数封装》中我们封装实现了特征码定位功能,本章将继续使用该功能,本次我们需要枚举内核LoadImage映像回调,在Win64环境下我们可以设置一个LoadImage映像加载通告回调,当有新驱动或者DLL被加载时…

Android监听用户的截屏、投屏、录屏行为

Android监听用户的截屏、投屏、录屏行为 一.截屏 方案一:使用系统广播监听截屏操作 ​ 从Android Q(10.0)开始,Intent.ACTION_SCREEN_CAPTURED_CHANGED字段不再被支持。这是因为Google在安卓10 中引入了一个新的隐私限制&#…

zookeeper实操课程Acl 访问权限控制,命令行测试

本系列是zookeeper相关的实操课程,课程测试环环相扣,请按照顺序阅读测试来学习zookeeper。阅读本文之前,请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录(实操课程系列)。 阅读本文之前,请先阅读…

Oauth2.0 学习

OAuth 2.0 服务器端通常通过验证每次请求中的访问令牌(access token)的方式来确保其合法性和有效性。以下是一些通常采用的验证方法: Token Validation Endpoint: OAuth 2.0 规范允许实现一个专门的令牌验证端点,称为 Token Valid…

ipvlan介绍

最近使用docker,涉及到需要跨多台物理机部署系统,查了好多资料,最后查到了ipvlan。那什么是vlan,什么又是ipvlan。 交换机层面的vlan,是按802.1Q规范,在链路层中加了4字节的标识vlan的数据,交换…

YUVRGB

一、直观感受 根据上面的图片,不难看出: RGB的每个分量,是对当前颜色的一个亮度值Y分量对呈现出清晰的图像有着很大的贡献Cb、Cr分量的内容不太容易识别清楚YUV将亮度信息(Y)与色度信息(UV)分离…

深入理解原码、反码、补码(结合C语言)

一、引出问题 在学习C语言单目操作符中~按位取反的过程中&#xff0c;对这样一段代码的结果产生了疑惑&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>int main() {int a 0;int b ~a;//按位取反printf("%d\n", b);return 0; }输出结果…

TypeScript 变量声明详细教程

文章目录 前言var 声明作用域规则变量获取怪异之处let 声明块作用域重定义及屏蔽块级作用域变量的获取const 声明let vs. const解构数组对象解构属性重命名后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;vue.js &#x1f431;‍&#x…

【MySQL】视图 + 用户管理

视图 前言正式开始视图用户管理user表创建新用户修改用户密码权限管理给用户赋权剥夺权限 前言 本篇所讲的视图和我上一篇事务中所讲的读视图不是一个东西&#xff0c;二者没有任何关系&#xff0c;如果看过我前一篇博客的同学不要搞混了。 其实视图和用户管理本来是想着分开…

华为OD机试真题-虚拟游戏理财-2023年OD统一考试(C卷)

题目描述: 在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。现有一家Bank,它提供有若干理财产品m,风险及投资回报不同,你有N(元)进行投资,能接受的总风险值为X。 你要在可接受范围内选择最优的投资方式获得最大回报。 说明: 在虚拟游戏中…

CAPL通过在函数内改变全局变量的值

CAPL通过&在函数内改变全局变量的值 先定义一个全局变量。 variables {int tiancihaoche; }再定义一个函数如下: void change_1(int test) {test=555; }测试下: on key 2 {

大数据Doris(三十二):Doris高级功能

文章目录 Doris高级功能 一、​​​​​​​表结构变更

VMware Workstation Pro 17及 Windows 11 虚拟机的安装与激活

六点钟&#xff1a; 吃晚饭吗 不吃&#xff0c;胖胖 十点钟&#xff1a; 阿昊要吃夜宵对不对 ——CSDN&#xff0c;记录牛马生活 本文是在学习 Linux 期间&#xff0c;使用 VMware 时顺带学习 Windows 11 虚拟机的安装与激活 VMware Workstation Pro 17及 Windows 11 虚拟机…