Java make文件中的类路径是什么
我刚得到一个这样的生成文件Java make文件中的类路径是什么,java,makefile,Java,Makefile,我刚得到一个这样的生成文件 CLASSPATH=.:/usr/share/java/antlr.jar Mipsim.class: Mipsim.java MipsimLexer.class MipsimLexerTokenTypes.class MipsimParser.class Memory.class Processor.class javac -classpath .:/usr/share/java/antlr.jar Mipsim.java Memory.class: M
CLASSPATH=.:/usr/share/java/antlr.jar
Mipsim.class: Mipsim.java MipsimLexer.class MipsimLexerTokenTypes.class MipsimParser.class Memory.class Processor.class
javac -classpath .:/usr/share/java/antlr.jar Mipsim.java
Memory.class: Memory.java MemoryAccessible.class
javac Memory.java
Processor.class: Processor.java
javac Processor.java
MemoryAccessible.class: MemoryAccessible.java
javac MemoryAccessible.java
MipsimLexer.java MipsimLexerTokenTypes.java MipsimParser.java: Mipsim.g
antlr Mipsim.g
MipsimLexerTokenTypes.class: MipsimLexerTokenTypes.java
javac MipsimLexerTokenTypes.java
MipsimLexer.class: MipsimLexer.java
javac MipsimLexer.java
MipsimParser.class: MipsimParser.java
javac MipsimParser.java
clean:
rm -f *.class MipsimLexer.* MipsimLexerTokenTypes.* MipsimParser.*
我必须运行这个make文件,并构建目标代码。
然而,航站楼告诉记者
antlr Mipsim.g
make: antlr: No such file or directory
make: *** [MipsimLexer.java] Error 1
我想在这个案例中可能找不到anrlr.jar。所以我只是将类路径改为
CLASSPATH=.:/antlr.jar
并将antlr.jar放在同一文件夹中,然后重试。同样的错误又发生了
谁能帮帮我吗
谢谢
那是行不通的。它说使用根文件系统中的当前目录和antlr.jar
文件(可能不存在)
您可能想试试:
CLASSPATH=.:./antlr.jar
并确保它在antlr
可执行文件期间存在。一些make
程序将在单独的shell中执行每个命令,因此更改类路径可能无法继续。我倾向于使用bash
“为一个进程设置变量”方法:
除此之外,您通常运行antlr
的方式是运行java,提供您想要运行的类,其中包括:
java -cp ./antlr.jar org.antlr.Tool Mipsim.g
如果您有一个可执行文件(或脚本)antlr
可以为您执行此操作,它似乎不在您的路径中。感谢您的回复。我只是试着用你的方式。我将这些源文件Mipsim.java、MipsimLexer.class、MipsimLexerTokenTypes.class、MipsimParser、make file和antlr.jar放在同一个目录中,然后将cd放入该目录,运行makefile。再次弹出相同的错误消息…..您必须导出变量。仅仅在makefile中定义变量并不会将其导出到make调用的程序(如java
)。使用导出类路径:=…
CLASSPATH=.:./antlr.jar antlr Mipsim.g
java -cp ./antlr.jar org.antlr.Tool Mipsim.g