从python调用java时将终端输出打印到文件

时间:2018-05-26 13:39:12

标签: java python maven terminal

我正在从python运行Java代码(使用maven)。

src="asset('image/logo.jpg')"

与命令行不同,当我尝试将执行放在像out.txt这样的外部文件中时,它首先输出Java输出然后输出python输出。

第一个Java输出

    with changeDir(runDir):
        print "mvn clean"
        subprocess.call(["mvn clean"], shell=True)
    with changeDir(runDir):
        print "mvn compile"
        subprocess.call(["mvn compile"], shell=True)
    print "compile time",datetime.now() - startTime     
    with changeDir(runDir):
        print "mvn package"
        subprocess.call(["mvn package -DskipTests=true"], shell=True)
    with changeDir(runDir):
        subprocess.call(["export MAVEN_OPTS=\"-Xmx10g -Xms10g -XX:MaxPermSize=10g -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit\""], shell=True)
        print "mvn exec"
        subprocess.call(["mvn exec:java -Dexec.mainClass=examples.Example -Dexec.args=\"pathToFile"+fname+"\""], shell=True)

然后是python输出

[INFO] Scanning for projects...
[INFO] Inspecting build with total of 1 modules...
[INFO] Installing Nexus Staging features:
....
..

但是当我不尝试在外部文件中打印终端输出时,在终端中我看到它根据我的代码中的顺序打印出来:

mvn clean
mvn compile
compile time 0:00:08.027680
mvn package
mvn exec

为什么会发生这种情况

0 个答案:

没有答案