shell - 用命令行對javac進(jìn)行編譯,總是『cannot find symbol』,但是eclipse執(zhí)行不會(huì)出現(xiàn)問題
問題描述
代碼如下分別是enum和testclass兩個(gè)java文件
package cs121assignment1;public enum Food { APPLE('fruit', 55), BANANA('fruit', 80), CARROT('vegetable', 60);private final String catagory; //vegetable or fruit private final int calorie;Food(String catagory, int calorie){this.catagory = catagory;this.calorie = calorie; }public int getCalorie(){return calorie; }public String getCatagory(){return catagory; }}
package cs121assignment1;public class TestFood {public static void main(String[] args){ System.out.println('All foods:');for(Food food : Food.values()){System.out.printf('%s, catagory: %s, calorie: %d kilocalorie eachn', food, food.getCatagory(), food.getCalorie()); }}
eclipse中運(yùn)行結(jié)果如下:
但是用命令行執(zhí)行javac的時(shí)候顯示如下:
問題解答
回答1:cd Desktop;javac cs121assignment1.TestFood;
不要cd Desktop/cs121assignment1;
回答2:把代碼中第一行的package語句都刪除cd 到包含.java文件的文件夾執(zhí)行javac *.java得到兩個(gè).class文件java TestFood即可運(yùn)行成功
這個(gè)問題其實(shí)是package的用法問題另外一種方法,不要去掉文件第一行的packagejavac -d ~/Desktop/cs121assignment1 Food.java TestFood.java會(huì)生成一個(gè)以cs121assignment1為命名的新文件夾包含F(xiàn)ood.class 和 TestFood.class在新生成的cs121assignment1的上層目錄用java cs121assignment1.TestFood即可運(yùn)行成功
![css3 - [CSS] 動(dòng)畫效果 3D翻轉(zhuǎn)bug](http://www.cgvv.com.cn/attached/image/news/202304/110831f073.png)