[英]Scala REPL unable to import packge
我正在嘗試在Scala REPL中導入com.lambdaworks.crypto.SCryptUtil
( 來自crypto )。 我正在從包含com / lambdaworks / crypto的Java目錄運行REPL。
REPL找不到com.lambdaworks.crypto.SCryptUtil
,但它可以自動完成到com.lambdaworks.crypto
但在此之后找不到任何內容。
在我的項目中包含包后,在IntelliJ IDEA中使用REPL時,我能夠找到SCryptUtil
類。
我錯過了導入所需的一些類路徑參數嗎?
REPL不會為你編譯Java代碼 - 它只是自動完成,因為它知道目錄結構,但一旦到達crypto
目錄,它將找不到任何類文件。
通過向上移動目錄並打開新的REPL,您可以更加顯着地看到這一點 - 您將能夠自動完成import java.com.lambdaworks.crypto
,即使這顯然不是真正的包層次結構。
在這種情況下,您可以移動到項目根目錄,運行mvn compile
來編譯Java代碼,然后像這樣啟動REPL(仍在項目根目錄中):
scala -classpath target/classes
現在您可以導入com.lambdaworks.crypto.SCryptUtil
。
這只能起作用,因為項目沒有任何運行時依賴項,但在其他情況下,您可能需要在類路徑中添加其他內容,構建一個帶有依賴項的JAR(例如使用Maven Assembly插件 ),或者使用maven Scala插件的mvn scala:console
目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.