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

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