2012-12-29 38 views
0

Alrighty,所以我正在爲一個小遊戲製作一個.jar客戶端,並且我知道如何使用所有東西,並且之前在windows上做過這些,現在我正在使用mac。這應該沒有什麼區別,但是一旦你想知道,那你就去。現在,我在eclipse中有一個名爲client的文件夾,現在通常client.java是主類,但是還有另一個名爲EGUI,它具有「public static void main(String [] args)」,但是在我client.java文件,它也有這樣的方法:罐製造商 - 哪一個是主類?

public static final void main(String args[]) 
{ 
    try 
    { 
     anInt957 = 0; 
     anInt958 = 0; 
     method52(false);//highmem 
     aBoolean959 = true;//members 
     signlink.storeid = 32; 
     signlink.startpriv(InetAddress.getLocalHost()); 
     client client1 = new client(); 
     client1.method1(503, false, 765); 
     setserver(args[0], "5555"); 
     return; 
    } 
    catch(Exception exception) 
    { 
     return; 
    } 
} 

我想我的問題是,做「最終」讓主文件?還是會依然是EGUI,它看起來像這樣:

import java.awt.BorderLayout; 
import java.awt.Cursor; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.*; 

public class EGUI 
{ 
public static void main(String args[]) 
{ 
       client.main(new String[] { 
      "127.0.0.1", "127.0.0.1", "127.0.0.1" 
     }); 
    } 
} 

那麼,我要問的是,爲什麼它,當我的主文件設置爲EGUI,它不是工作?小程序打開了,但我每次都收到「連接到服務器的錯誤」消息,當我通過複製run.bat信息並粘貼它時,通過終端運行它時,它完美地工作!任何幫助是極大的讚賞!

+0

看起來很像你的具體問題是你試圖讓小程序連接到IP地址爲127.0.0.1的服務器。但是...這是回送接口地址。你不應該提供服務器的真實IP地址嗎?這與'main()'方法無關。 – BalusC

+0

@BalusC,那麼這應該是我自己的個人測試客戶端,當我編碼的服務器的來源(實際的遊戲),我想要它連接到我的本地IP因爲它尚未公開。 –

回答

1

public static void main(String args[])表示您可以從命令行執行該類。 final關鍵字表示該方法不能被子類覆蓋。

在你的情況下,這不會使它成爲jar的主要執行類。主要課程設置在META-INF/MANIFEST.MF。通常它應該有一條線:

Main-Class: classname 

但隨後與實際的類。

所以用zip程序打開jar,然後檢查MANIFEST.MF。

client.java主要方法,用於測試目的,我想。

+0

謝謝!我知道了! –

+0

然後接受:-) – asgoth

+0

不得不等待,對不起。但我們現在很好:)再次感謝 –