制作 Java 生成文件

新手上路,请多包涵

编辑:本质上,我正在尝试做与键入“javac sim.java”然后“java sim(命令)”相同的事情。有没有办法用 makefile 替换它?

于是在网上看了很多例子,试着修改成自己需要的,但是都没有效果。我需要一个 makefile,这样我的老师就可以通过在终端中键入“make”来创建我的项目(出于某种原因,这是项目的要求)。我的最终目标是能够键入“sim”,然后键入我的代码定义的所需命令。代码在 eclipse 中运行,但我无法在终端中使用这些命令运行它。它会生成文件,但当我尝试在终端中键入“sim ….(参数)”时,它会显示“sim:未找到命令”。我敢肯定这是一个愚蠢的问题,但我们在学校没有学过这个,我也没有使用 Makefile 的经验。

下面是我的生成文件。

 JFLAGS = -g
JC = javac
OPT = -O3
#OPT = -g
WARN = -Wall

sim: sim.class

sim.class: sim.java
    $(JC) $(JFLAGS) sim.java

clean:
    $(RM) sim.class

clobber:
    $(RM) sim.class

原文由 Dude 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 478
1 个回答

一旦你有多个课程,就可以使用带有 java 的 make 来练习用锤子拧螺丝。

工作的 java 代码将使用包。因此,您将拥有一个复杂的目录树,它反映了您的包结构,其中包含您的 .java 源文件。编写“查看”所有这些文件的 make 规则是一件痛苦的事情。

您应该同时对所有源文件调用 javac 以获得正确的结果。因此,通常的“运行一个命令将一个源文件转换为一个编译文件”的 make 模式并不适用。

但是,目前您的主要问题似乎是您希望 java 生成可执行文件;一个名称类似于“sim”的文件。不,不会以任何简单的方式发生。 java编译器生成.class文件;一整棵树用于您的源文件。您可以直接从它们运行,也可以将它们打包到 JAR 文件中。

要获得看似简单的命令行可执行文件的所有方法,您需要使用一个更复杂的工具,在前面用一个脚本将所有这些包装起来。

现在,您只需要做:

 java -cp . NAME_OF_THE_CLASS_IN_sim.java

在您的 makefile 完成后运行。

原文由 bmargulies 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏