2015-10-14 63 views
0

enter image description here的Cygwin無法找到或加載主類edu.stanford.nlp.patterns.surface.GetPatternsFromDataMultiClass

嗨,

我試圖運行斯坦福大學圖書館的窺探即主演示,幫助列車模型在我們自己的語言標籤上。我在Cygwin上運行Windows 7。根據文檔,我得到了setupWithCoreNLP.sh,它將所有必需的jar文件和其他依賴項放在正確的摺疊和路徑中。現在,當我運行demo.sh時,我得到了主類未找到的錯誤。我更正了demo.sh文件中的主路徑,但我不確定還需要修復哪些內容才能使此演示程序正常工作。 任何幫助將不勝感激。

+0

如果你從'cygwin'運行'java for windows',你必須改變路徑或者使用'cygpath'命令,因爲'java for windows'不會理解cygwin路徑。例如:'java -cp $(cygpath -wp cygwin_path/file1.jar:cygwin_path/file2.jar)MainClass'。發佈您正在使用的腳本和Java版本。 – Albert

+0

感謝您的快速回復阿爾伯特。我沒有使用任何腳本,只是按照斯坦福大學nlp網站上提供的模式學習(http://nlp.stanford.edu/software/patternslearning.shtml)上提供的一步一步的過程。我確實將HOME改爲HOME = C:\ Users \ k.shwetika \ Desktop \ NLP \ SPIED-viz-master \ SPIED-viz-master。我需要將其更改爲cygpath嗎?我正在使用Java 1.7 – serendipity

回答

0

有使用用於Windows的java兩個問題cygwin下:

  • Java進行窗口使用;作爲罐分離器(:用於驅動器),而Java對POSIX系統使用:
  • java的窗戶不明白Cygwin路徑名,例如/cygwin/c/Users/...。請看看this article,它解釋瞭如何在使用Windows程序時處理cygwin POSIX路徑名,例如javaThis one也可以是有用的,雖然是更一般的。

在你的情況,我會做一些事情,如:

java -cp $(cygpath -wp ./stanford-corenlp-3.5.1.jar:./stanford-corenlp-3.5.1-models.jar:./javax.json.jar:./joda-time.jar:./jollyday.jar) edu.stanford.nlp.patterns.GetPatternsFromDataMultiClass -props patterns/example.properties 

你必須根據中選取適當的目錄改變罐子路徑。
我的意思是,如果stanford-corenlp-3.5.1.jar位於C:\Users\k.shwetika\Desktop\NLP\SPIED-viz-master\SPIED-viz-master,則將./stanford-corenlp-3.5.1.jar更改爲 /cygdrive/c/Users/k.shwetika/Desktop/NLP/SPIED-viz-master/SPIED-viz-master/stanford-corenlp-3.5.1.jar

其他罐子一樣。

最後,我假設edu.stanford.nlp.patterns.GetPatternsFromDataMultiClass在任何這些罐子裏。

UPDATE

我想,而不是使用cygpath命令POSIX路徑名轉換爲Windows路徑名,你也可以使用Windows路徑名逃逸的jar分離;(即:\;),但我不能完全確定。

例如

java -cp win_path\jar1.jar\;...\;win_path\jarN.jar MainClass 

希望這有助於!

相關問題