我的目錄目前看起來像這樣├── Makefile├── run_tests (Unix executable)└── src └── vehicles ├── Wheels.java └── Cars.java └── RunProgram.java tests └── test1.txt └── test2.txtRunProgram.java 是我的主要。在網(wǎng)上查看,我目前有一個(gè)如下所示的 Makefile:JFLAGS = -gJC = javac.SUFFIXES: .java .class.java.class: $(JC) $(JFLAGS) $*.java CLASSES = \ src/vehicles/Wheels.java \ src/vehicles/Cars.java \ src/RunProgram.java default: classesclasses: $(CLASSES:.java=.class)clean: $(RM) *.class我現(xiàn)在有兩個(gè)主要問題。1. Cars.java 為 Wheels 拋出“錯(cuò)誤:找不到符號(hào)”,即使它首先編譯了 Wheels(之前我的順序錯(cuò)誤,現(xiàn)在是正確的)。2.我最終需要在 Makefile 中添加一個(gè)“測(cè)試”,這也有其自身的問題。本質(zhì)上,run_tests 會(huì)通過 System.in 將所有內(nèi)容放入測(cè)試文件夾中。但是,在另一個(gè)目錄中運(yùn)行內(nèi)容時(shí)遇到問題,因此我必須將 RunProgram.class 輸出到根目錄。當(dāng)包結(jié)構(gòu)中唯一的程序是 RunProgram.java 時(shí),這就是我從命令行運(yùn)行測(cè)試的方式j(luò)avac -d ./ ./src/RunProgram.java ./run_tests "java RunProgram"但是,當(dāng)我現(xiàn)在嘗試運(yùn)行 javac 時(shí),出現(xiàn)包導(dǎo)入不存在的錯(cuò)誤。這就是我使用 Makefile 的原因,因?yàn)檫@是理想的解決方案。TL;DR我需要一種方法來使用 Makefile 編譯我的程序并編寫一個(gè)可以正確調(diào)用 run_tests 的“make test”命令我也愿意接受一個(gè)解決方案,允許我從命令行運(yùn)行 javac 并從那里運(yùn)行測(cè)試,但首選 Makefile
1 回答

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
解決這個(gè)問題我能做的最好的事情就是制作一個(gè) jar 文件,然后做./run_tests "java -jar RunProgram.jar"
顯然不理想,但它有效。
添加回答
舉報(bào)
0/150
提交
取消