خطأ مترجم جافا. لا يمكن العثور على رمز
-
08-07-2019 - |
سؤال
لماذا أتلقى هذا الخطأ عند الطبقة SystemController هي في نفس الدليل؟
sgs$ javac Main.java
Main.java:27: cannot find symbol
symbol : class SystemController
location: class sgs.Main
SystemController sc = new SystemController();
^
Main.java:27: cannot find symbol
symbol : class SystemController
location: class sgs.Main
SystemController sc = new SystemController();
^
2 errors
package sgs;
import javax.swing.JFrame;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
boolean loginSuccess = false;
//Login login = new Login();
//login.setVisible(true);
//login.loadAccounts("files/accounts.txt");
SystemController sc = new SystemController();
sc.setVisible(true);
sc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
المحلول
وتخميني هو أنك لم تجميع SystemController
التي يتوقف Main
. ذلك إما تجميع SystemController
يدويا قبل لتجميع Main
(ولكن من شأنها أن تكون مؤلمة على المدى الطويل إذا كان عدد من الطبقات ينمو) أو تجميع كل شيء معا، والسماح للمترجم بحساب أجل تجميع (أفضل IMO). شيء من هذا القبيل:
$ pwd /path/to/sgs $ cd .. $ javac sgs/*.java $ java -cp . sgs.Main
وتحرير: من الخطأ الذي نشر عن التعليق، أستطيع أن أرى أنك تستخدم GNU GCJ أ > لا يعتمد بشكل كامل سوينغ . يرجى التبديل إلى الشمس JDK أو OpenJDK. يجب أن يكون على حد سواء كما تتوفر حزمة، فقط للتأكد من جعله الافتراضي جافا بعد تثبيت (انظر HTTPS: // help.ubuntu.com/community/Java للحصول على أوبونتو أو توزيعة دبيان مقرها، ومعرفة كيفية القيام بذلك لتوزيعة أخرى).
نصائح أخرى
هل جمعت SystemController؟
والمحاولة
javac *.java
وأيضا، تذكر لتحديد CLASSPATH الخاص بك حيث هي الطبقات سوينغ.
javac -cp classpath *.java