当前位置: 首页 > 面试题库 >

调用mvn tomcat:使用批处理文件在多个项目/不同目录中运行

茅曾琪
2023-03-14
问题内容

我是批处理文件的新手。我有两个项目,我想使用批处理文件运行它们。projectA应该在端口8081上运行,而projectB应该在8082上运行。我尝试了以下两种方法,但是只有projectA在端口8081上启动。

@echo off
SET CMB_HOME=C:\Development\CMB
cd %CMB_HOME%\projectA\
call mvn tomcat:run -Dmaven.tomcat.port=8081

cd %CMB_HOME%\projectB\
call mvn tomcat:run -Dmaven.tomcat.port=8082

似乎没有阅读以下部分。

cd %CMB_HOME%\projectB\
call mvn tomcat:run -Dmaven.tomcat.port=8082

我也尝试创建2个批处理文件:master.bat和slave.bat。

master.bat包含以下内容,并正在调用slave.bat:

@echo off
SET CMB_HOME=C:\Development\CMB
cd %CMB_HOME%\projectA\
call mvn tomcat:run -Dmaven.tomcat.port=8081

SET SCRIPT_HOME=C:\Development\scripts\CMB
cd %SCRIPT_HOME%
call slave.bat

slave.bat包含以下内容:

@echo off
SET CMB_HOME=C:\Development\CMB
cd %CMB_HOME%\projectB\
call mvn tomcat:run -Dmaven.tomcat.port=8082

请帮忙。


问题答案:

编辑:更新了传递的参数。

@echo off
SET CMB_HOME=C:\Development\CMB

pushd %CMB_HOME%\projectA\
start "Port 8081" cmd /c "mvn tomcat:run -Dmaven.tomcat.port=8081"
popd

pushd %CMB_HOME%\projectB\
start "Port 8082" cmd /c "mvn tomcat:run -Dmaven.tomcat.port=8082"
popd

因为我不知道mvn如何期望其参数,所以您可能会在start命令中使用引号

start "Port 8081" cmd/c ^""mvn "tomcat:run -Dmaven.tomcat.port=8081" ^"
...
start "Port 8082" cmd/c ^""mvn "tomcat:run -Dmaven.tomcat.port=8082" ^"

或尝试解决方法…

@echo off

if "%~1" neq "" goto run

start "Port 8081" cmd /c ^""%~f0" projectA 8081 ^"
start "Port 8082" cmd /c ^""%~f0" projectB 8082 ^"
goto :eof

:run 
set "PORT=%~2"
set "CMB_HOME=C:\Development\CMB\%~1\"
pushd %CMB_HOME%
call mvn tomcat:run -Dmaven.tomcat.port=%PORT%
popd
goto :eof


 类似资料:
  • 我需要从多个目录中读取文件,并处理数据并将其存储到DB中。目前我正在使用块多资源阅读器,它适用于1个目录。但现在我必须从多个目录中读取文件。如何使用Spring批处理来做到这一点

  • 我们使用Spring Batch进行一些处理,通过Reader读取一些ID,我们希望通过处理器将它们处理为“块”,然后写入多个文件。但是处理器接口一次只允许处理一个项目,我们需要进行批量处理,因为处理器依赖于第三方,不能为每个项目调用服务。 我看到我们可以为“块”中涉及的所有读取器-处理器-写入器创建包装器,以处理列表<>并委托给一些具体的读取器/处理器/写入器。但这对我来说并不是件好事。像这样:

  • 我有一个通用代码库,需要用不同的实现和运行时配置进行测试。考虑使用多个DAO实现的服务。我有测试Dao接口的通用单元测试(需要Dao自动连接),我想从不同的项目中调用这些测试。 基本上我想要这样的东西。在共享的通用项目中,我的测试将有效。所以本质上,在共享项目中,我有我的测试,例如。 然后在实现Dao的其他项目中,我会: . 同样,有多个项目以不同的方式实现DAO层,我想分享通用测试。 如果我能将

  • 构造函数包含名称参数、沿路位置参数、车道位置参数,以及根据http://processing.org/learning/eclipse/所需的PApplet参数。该错误始于,但并不是所独有的,因为我试着注释了它,但错误只出现在下一行。我有一种感觉,这个错误与我使用PApplet的方式有关,但我不知道是什么。 编辑:所以我从我认识的人那里得到了输入,显然问题是我没有使用正确的PApplet父级。以下

  • 我是Spring批处理的新手,目前正在处理一个新的批处理作业。我的批处理作业: 读取器:读取数据库中的记录(即5家公司的员工) 处理器:处理记录 5个writer:过滤并写入每个文件(即A公司的员工在A路径写入A公司文件,B公司的员工在B路径写入B公司文件),最后一个writer将A公司的所有离职员工写入D公司。 任务:将文件保存到数据库中。 目前,我正在使用CompositeItemWriter

  • 我需要创建3个单独的文件。 我的批处理作业应该从Mongo读取,然后解析信息并找到“业务”列(3种业务类型:retAIL、HPP、SAX),然后为它们各自的业务创建一个文件。该文件应该创建任何一个retAIL formattedDate;HPP formattedDate;SAX formattedDate作为文件名和在txt文件中的DB中找到的信息。此外,我需要将.资源(new FileSyst