调用javac的shell脚本有问题

时间:2014-09-07 20:54:34

标签: java bash shell

您好我是Linux和shell脚本的新手。我正在尝试编写一个编译和运行Java程序的程序。

#!/bin/bash
javac Test.java
javac testObject.java
java Test

当我尝试运行它时,我得到javac: no source files。我也试过为它设置完整的类路径。

1 个答案:

答案 0 :(得分:0)

像这样在bash脚本中添加一些变量和检查。这有助于避免简单的错误。另请注意,我将类名testObject.java更改为TestObject.java - >

#!/bin/bash
project_dir="/$HOME/myprojects/Test" 
cd $project_dir
echo "Compiling Test project.."
if [ javac -cp . Test.java ] && [ javac -cp . TestObject.java ];
then
   echo "Compilation successful! Running project Test"
   java Test
else
   echo "Compilation failed. Cannot run Test project"
fi

您可以根据需要使脚本更加优雅。在这里阅读更多关于javac命令行的信息 - > http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html

我不确定你为什么要单独编译TestObject.java。但是如果它在Test.java中引用,那么你这样做就没那么了。如果在Test.java中使用它们,则所有后续引用的java类将与Test.java一起自动编译。