저는 graphviz를 사용하여 스칼라 프로그램에서 전달 된 메시지를 기반으로 그래프를 생성하고 있습니다. scala 프로그램 내부에서 graphviz 응용 프로그램을 호출하려면 exec() 메소드 (Java와 유사)를 사용하고 있습니다. 성공적으로 명령을 실행하고 난 다음 코드 사용시 그래프를 작성 :스칼라 - 특정 시나리오에서 터미널을 통해 프로세스를 실행하지 못합니다.
var cmd: String = "dot -Tpng Graph.dot -o Graph.png"
var run: Runtime = Runtime.getRuntime() ;
var pr: Process = run.exec(cmd) ;
이것은 입력 및 출력 파일의 경로를 변경 한 후에 실행되지 그러나를 (I는 디렉토리를 포함하는 입력 파일 내의 출력 파일은 아래 그림과 같습니다.)
def main(args: Array[String]): Unit = {
var DirectoryName: String = "Logs"
var GraphFileName: String = DirectoryName + File.separator + "Graph.dot"
val GraphFileObj: File = new File(GraphFileName)
// var cmd: String = "dot -Tpng Graph.dot -o Graph.png"
var cmd: String = "dot -Tpng \"" + GraphFileObj.getAbsolutePath + "\" -o \"" + DirectoryName + File.separator + "Graph.png\"" ;
println(cmd)
var run: Runtime = Runtime.getRuntime() ;
var pr: Process = run.exec(cmd) ;
}
터미널을 통해 실행될 때 동일한 명령이 출력됩니다. 제가 누락 된 것을 찾아 내도록 도와 주시겠습니까?
어떤 OS를 사용하고 있습니까? – Faiz
@Faiz 우분투를 사용하고 있습니다. 12.04 –
어떤 종류의 오류가 있습니까? – Faiz