2013-03-07 49 views
1

我有一個用於國際象棋AI服務器的Java框架。我正在計劃使用Scala來編寫我的國際象棋AI的邏輯。所以我需要編輯框架的「AI」類來調用我的Scala代碼。當我嘗試從斯卡拉Java框架引用類發生Scala無法引用Java類

我的問題,我得到遵循這種模式的錯誤:

class * in package * cannot be accessed in package * 

我能找到最相關的事情是這樣的: What are the guarantees for scala access qualifiers?,然而這根本不能幫助我。

下一個我發現這一點:is it possible to have a circular dependency between .java and .scala classes? 我會嘗試建立一個Maven的解決方案,但最終我需要它使用make進行編譯,並使用shell腳本

創建虛擬類似乎是一個運行差的解決方案我不想繼續編輯框架,重新編譯它,並修復它對調用我的Scala類的任何抱怨。

我有點困惑,爲什麼這是一個問題。我可以使用Java語法調用任何本地Java函數,沒問題。爲什麼會發生這種情況,即使我把這個框架放在一個jar中並且以這種方式引用它?

+1

如果不知道有關java和scala代碼的問題,很難說清楚。如果您期望任何主觀的答案,您將需要提供更多信息。 – 2013-03-07 21:17:21

回答

3

看起來這個特定的類是封裝私有的。請將它們公開,然後再報告。

+0

謝謝。它看起來像工作。我有點尷尬,因爲我檢查了所有'private'的類,在提問之前沒有看到它,但是它們都被設置爲默認可見性。 – Tombstone 2013-03-08 00:27:08

+1

這裏沒問題,我終於得到了一些觀點,不少問題接受了幾個回答。 thx接受。 – javadba 2013-03-08 01:02:59