Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用批处理文件构建多个项目(maven和scala)_Java_Scala_Maven_Batch File_Sbt - Fatal编程技术网

Java 如何使用批处理文件构建多个项目(maven和scala)

Java 如何使用批处理文件构建多个项目(maven和scala),java,scala,maven,batch-file,sbt,Java,Scala,Maven,Batch File,Sbt,我正在尝试使用windows批处理文件一个接一个地构建maven项目和scala项目。为此,我在根文件夹中创建了一个批处理文件,并在其中写入以下行。虽然我的maven项目构建成功,但scala项目构建失败 call mvn -f A/pom.xml clean install -U call sbt B\build.sbt clean compile -U call mvn -f C/pom.xml clean install -U call sbt D\build.sbt clean comp

我正在尝试使用windows批处理文件一个接一个地构建maven项目和scala项目。为此,我在根文件夹中创建了一个批处理文件,并在其中写入以下行。虽然我的maven项目构建成功,但scala项目构建失败

call mvn -f A/pom.xml clean install -U
call sbt B\build.sbt clean compile -U
call mvn -f C/pom.xml clean install -U
call sbt D\build.sbt clean compile -U
我得到的错误是:

[warn] Executing in batch mode.
[warn]   For better performance, hit [ENTER] to switch to interactive mode, 
or
[warn]   consider launching sbt without any commands, or explicitly passing 
'shell'
[info] Set current project to my project(in build file:/C:/sample-
project/MyProject/)
[error] Expected ID character
[error] Not a valid command: B
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Not a valid key: B
[error] B\build.sbt
[error]            ^
[解决方案]

以下内容对我很有用

cd A
call mvn clean install -U
echo Completed building A
cd ..
cd B
call mvn clean install -U
echo Completed building B
cd ..
cd C
call sbt clean compile -U
echo Completed building C
cd ../
cd D
call mvn clean install -U
echo Completed building D
cd ..
cd E  
sbt clean compile
echo Completed building E

我不认为您可以从根目录之外使用sbt编译scala项目。我的意思是
sbt你的_项目/build.sbt clean compile
马上就不行了,你必须
cd你的_项目;sbt clean compile
我已经相应地修改了批处理文件。。。但在它构建了项目B之后,它就停止了。调用mvn-f A/pom.xml clean install-U cd B sbt clean compile cd../调用mvn-f C/pom.xml clean install-U cd D sbt clean compilege将自己设置为CI服务器并分别构建每个项目。由于许多原因,将所有构建耦合在一起不是一个好主意。不幸的是,我的环境中没有CI设置,并且使用批处理文件尝试执行相同的操作。