【批处理】将eclipse非maven项目变成maven项目,并导入idea

1 前言

某天,我看到老师上课的代码文件夹,如图

在这里插入图片描述

文件结构如下:

在这里插入图片描述

我想了想,老师是用eclipse写的项目,并且没有用maven。这么多文件我一个一个在idea新建Maven项目,复制粘贴,配置pom.xml文件,实在是太麻烦了。我能不能一步到位,先根据各个项目名称创建maven目录结构,然后把src目录下的所有文件一同复制过去,最后为每个项目弄一个module的pom.xml文件,并在程序运行结束时给出来idea多模块项目的需要的module标签相关配置。

说做就做,最终我花了近半天的时间搞定了。本来可以用不了那么久的时间,一些小bug耽误了不少时间,最折腾我的就是文件绝对路径了,一定要用双引号包围 。我的路径很多是用变量拼接的,如果输入的路径有空格,会需要双引号,这时候也要考虑去除双引号,才能拼接出新路径,最后也要把新路径用双引号包围

2 源代码

@echo off&setlocal Enabledelayedexpansion
@REM 写入要读写的文件
if exist tmp_pom del tmp_pom
if exist tmp111111 del tmp111111
echo "<?xml version="1.0" encoding="UTF-8"?>">>tmp_pom
echo "<project xmlns="http://maven.apache.org/POM/4.0.0"">>tmp_pom
echo "         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"">>tmp_pom
echo "         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">">>tmp_pom
echo "    <parent>">>tmp_pom
echo "        <artifactId>Spring_study</artifactId>">>tmp_pom
echo "        <groupId>org.example</groupId>">>tmp_pom
echo "        <version>1.0-SNAPSHOT</version>">>tmp_pom
echo "    </parent>">>tmp_pom
echo "    <modelVersion>4.0.0</modelVersion>">>tmp_pom
echo "    <artifactId>01-primary</artifactId>">>tmp_pom
echo "    <properties>">>tmp_pom
echo "        <maven.compiler.source>8</maven.compiler.source>">>tmp_pom
echo "        <maven.compiler.target>8</maven.compiler.target>">>tmp_pom
echo "    </properties>">>tmp_pom
echo "</project>">>tmp_pom

@REM 初始化变量
set file=tmp_pom
set left1="        <artifactId>"
set left2="    <artifactId>"
set left3="<module>"
set right="</artifactId>"
set right3="</module>"
set /p in_s=请把要处理的根目录拖入本窗口:&set "in_s=!in_s:"=!"
set /p in_p=请把项目路径拖入本窗口:&set "in_p=!in_p:"=!"

@REM 去除双引号
for /f "delims=" %%a in ("%in_s%") do set in_source=%%~a
for /f "delims=" %%a in ("%in_p%") do set in_project=%%~a
@REM echo %in_source%

@REM 取出项目的名称
for /f "delims=" %%a in ("%in_project%") do set project=%%~nxa
@REM echo !project!

FOR /D %%i IN ("%in_source%\*") DO (
	md "%in_project%\%%~nxi"
	md "%in_project%\%%~nxi\src\main\java"
	md "%in_project%\%%~nxi\src\main\resources"
	md "%in_project%\%%~nxi\src\test\java"
	for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (
		if %%a==6 (
			@REM "        <artifactId>Spring_study</artifactId>"
			@REM !left1:~1 这样写可以去除变量的双引号
			echo !left1:~1,-1!!project!!right:~1,-1!>>"pom.xml"
		) else if %%a==11 (
			@REM "    <artifactId>01-primary</artifactId>"
			echo !left1:~1,-1!%%~nxi!right:~1,-1!>>"pom.xml"
		) else (
			set tmp_b=%%b
			echo !tmp_b:~1,-1!>>"pom.xml"
		)
	
	)
	@REM 便于程序运行结束时给出来**idea多模块项目**的需要的**module标签**相关配置。
	echo !left3:~1,-1!%%~nxi!right3:~1,-1!>>tmp111111
	move pom.xml "%in_project%\%%~nxi"
)
FOR /D %%i IN ("%in_source%\*") DO (
	@REM echo %in_source%\%%~nxi\src %in_project%\%%~nxi\src\main\java\
	xcopy /e/h/y "%in_source%\%%~nxi\src\" "%in_project%\%%~nxi\src\main\java\"
	if exist "%in_source%\%%~nxi\WebContent\" (
		xcopy /e/h/y "%in_source%\%%~nxi\WebContent\" "%in_project%\%%~nxi\web\"
		del /q "%in_project%\%%~nxi\web\WEB-INF\lib\*"
	)
	@REM xcopy /s/e/h/y %in_source%\%%~nxi\src\ %in_project%\%%~nxi\src\main\java\
)
if exist tmp111111 (
	type tmp111111
	del tmp111111
)
if exist tmp_pom del tmp_pom
pause>nul

3 idea准备工作

新建一个Maven项目,并删除src文件夹,如图

在这里插入图片描述

温馨提示: 不要忘了在这个pom.xml文件中导入项目需要的依赖

4 如何运行?

新建文本文件,把代码粘贴进去,另存为bat文件,改变编码为ANSI,如图

在这里插入图片描述

双击运行bat文件,把要处理的根目录项目路径依次拖入窗口即可,如图

在这里插入图片描述

5 运行结果

可以看到已经有了maven目录结构src目录下的所有文件,每个项目module的pom.xml文件

在这里插入图片描述

idea多模块项目的需要的module标签相关配置

在这里插入图片描述

将上图圈住部分复制到,多模块项目最外层的pom.xml中,如图

在这里插入图片描述

导入成功

在这里插入图片描述

6 参考链接

批处理如何实现文本文件中指定行内容的替换?_百度知道 (baidu.com)

(3条消息) 关于批处理的转义字符的问题_weixin_43855747的博客-CSDN博客

bat运行出错,提升找不到文件,或者F=文件,D=目录?_百度知道 (baidu.com)

使用批处理copy批量复制指定目录下(包括子目录)的所有文件并重命名?_百度知道 (baidu.com)

7 补充

多模块项目最外层的pom.xml要有

<packaging>pom</packaging>

否则会报错,idea删除src后,新建一个module会自动添加,也可以手动添加

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Eclipse导入 Maven 项目需要执行以下步骤: 1. 选择 "File" -> "Import"。 2. 在弹出的对话框中选择 "Maven" -> "Existing Maven Projects"。 3. 选择项目所在的文件夹并点击 "Finish" 按钮。 提示: 如果您使用的是 IntelliJ IDEA, 可以选择 "File" -> "New" -> "Project from Existing Sources"来导入。 ### 回答2: 在Eclipse导入Maven项目常简单。以下是详细步骤: 1.首先确保已经在计算机上安装了EclipseMaven。 2.打开Eclipse并点击菜单栏的“File”(文件)选项。 3.从下拉菜单中选择“Import”(导入)。 4.在弹出的对话框中,展开“Maven”文件夹,并选择“Existing Maven Projects”(已有的Maven项目),然后点击“Next”(下一步)按钮。 5.在下一个界面的“Import Maven Projects”(导入Maven项目)对话框中,点击“Browse”(浏览)按钮。 6.在打开的对话框中,找到项目的根目录(通常包含pom.xml文件),选择该目录,并点击“OK”按钮。 7.在“Import Maven Projects”(导入Maven项目)对话框中,所有Maven项目都会列出。确保已选中您想要导入项目,并点击“Finish”(完成)按钮。 8.Eclipse将会自动为您导入Maven项目。 请注意,您需要保证Maven项目的pom.xml文件中已经正确配置了所有的依赖项和插件。此外,Eclipse还需要正确配置Maven的环境变量,以便能够正确访问Maven仓库和下载所需的依赖项。 通过按照以上步骤,您就可以成功将Maven项目导入Eclipse中,并开始进行开发工作。 ### 回答3: 在Eclipse导入Maven项目需要以下步骤: 1. 打开Eclipse,并选择File -> Import。 2. 在导入对话框中选择Maven -> Existing Maven Projects,并点击Next。 3. 在Root Directory字段中,选择Maven项目所在的根目录,并点击Finish。 4. Eclipse会扫描项目中的pom.xml文件,并自动识别项目。 5. 选择要导入Maven项目,并点击Finish。 导入完成后,Eclipse会自动下载项目所需的依赖库,并生成项目的相关目录结构。在编辑器中,可以看到项目的源代码文件。 此外,还可以在Eclipse中配置Maven插件,以实现更多功能。例如,可以通过右键点击项目 -> Maven -> Update Project来更新Maven项目的依赖库,保持库版本的一致性。还可以通过右键点击项目 -> Run As -> Maven Install来编译项目并生成可执行的jar文件。 总结来说,将Maven项目导入Eclipse只需几个简单的步骤,即可在Eclipse中方便地进行开发和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值