用于在运行期间获取file_name的java程序的Makefile

时间:2016-03-22 20:43:43

标签: java file-io makefile

我一直在Ubuntu终端上编译和运行我的程序,如下所示:

  

javac ev.java

     

java xyz.class file_name.txt

如何为此制作makefile?

我已经完成了一些教程,但他们没有谈论包含文件的情况,坦白说我无论如何也无法理解它们。

到目前为止

我的Makefile

all : build run
build : javac ev.java
run : java xyz.class

不,我不想使用ant,maven等只有Makefile。

1 个答案:

答案 0 :(得分:1)

为了使这个成为一个完整的例子,请从基本的Java程序开始,例如Hello.java这里

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

然后我们将创建一个Makefile;我们希望在Hello.class上运行Hello.classHello.java 依赖。让我们添加一个编译器OPTS变量和一个CLASSPATH变量(对于这个例子,我们只使用.并启用调试)。请注意make为标签(以及变量赋值中的空格)提供了语义含义,此示例包含标签

CLASSPATH = .
OPTS = -g
run: Hello.class
    java -cp $(CLASSPATH) Hello

Hello.class: Hello.java
    javac $(OPTS) -cp $(CLASSPATH) Hello.java

clean:
    rm -f Hello.class