2015-06-19 93 views
-1

在人們開始將這個問題標記爲重複之前,我知道我花時間也看了類似的問題,並發現其他「錯誤:主要方法在類中找不到」的答案並不明顯適用於我的情況(根據我對java的有限理解)錯誤:在類中找不到主要方法...爲什麼我得到這個?

我試圖利用文本到語音api。 Eclipse是不抱怨下面的代碼,直到我嘗試編譯:

錯誤:

package com.textToSpeech; 

import com.sun.speech.freetts.Voice; 
import com.sun.speech.freetts.VoiceManager; 

public class FreeTTS { 

    private static final String VOICENAME_kevin = "kevin"; 
    private String text; // string to speech 

    public FreeTTS(String text) { 
     this.text = text; 
    } 

    public void speak() { 
     Voice voice; 
     VoiceManager voiceManager = VoiceManager.getInstance(); 
     voice = voiceManager.getVoice(VOICENAME_kevin); 
     voice.allocate(); 
     voice.speak(text); 
    } 

    public static void main(String[] args) { 
     String text = "FreeTTS was written by the Sun Microsystems Laboratories " 
     + "Speech Team and is based on CMU's Flite engine."; 
     FreeTTS freeTTS = new FreeTTS(text); 
     freeTTS.speak(); 
    } 



} 

以下錯誤在控制檯中顯示出來主要方法類com.textToSpeech.FreeTTS未找到,請定義主要方法爲: public static void main(String [] args)

上面的代碼顯然有一個主要方法,所以有人知道爲什麼我得到這個錯誤,而且我怎麼能修復它?

我認爲這與班級的名字有關。如果我改變類像T2S的名稱,然後嘗試編譯,我得到這個錯誤:

錯誤:無法找到或加載主類com.textToSpeech.t2s

人有有什麼想法嗎?任何幫助將非常感激。

+0

我在main方法的定義中看不到任何錯誤。 Eclipse中的項目編譯是否正常?嘗試使用命令「Project - > Build All」並檢查Problems視圖以查看是否有任何編譯問題。 – eugenioy

+0

源.java文件的名稱與類名相同嗎?源代碼是否在正確的文件夾中(可能是'src/com/textToSpeech')? eclipse是否在正確的源文件夾中查找(發生在Maven構建中,當源代碼位於src/main/java中時,eclipse無法理解這一點)? – dhke

+0

你也應該嘗試做一個項目 - >清理,然後是項目 - >全部構建 –

回答

-1

你可能搞砸了你的項目屬性。我不使用eclipse,所以我不能肯定地說,但是嘗試創建一個新項目並向它添加相同的代碼而不用撥打屬性。類名和文件名應該是一樣的,檢查一下。還要確保源文件位於同一個包文件夾中。如果沒有任何工作,只需創建一個新項目。

乾杯。

相關問題