2014-11-25 70 views
2

我是scala的新手。現在我開始使用測試框架scalatest。但每次運行測試時,我都需要輸入scala -cp /path/to/jar/folder/scalatest_2.11-2.2.1.jar my_test.scala以包含scalatest軟件包。無需特定類路徑即可啓動java/scala的快捷方式

我想輸入較少。這是我認爲可能的工作。

  • export CLASSPATH=/path/to/jar/folder/scalatest_2.11-2.2.1.jar;$CLASSPATH放入.bashrc
  • alias scalat="scala -cp /path/to/jar/folder/scalatest_2.11-2.2.1.jar".bashrc

但我想知道什麼是讓scala/java知道包沒有具體它在scala/java社區CLASSPATH中的常見方式是什麼?

+1

您必須更改類路徑,沒有可行的替代方案:)我個人更喜歡第二種選擇,因爲我認爲第一個選項可能會導致在處理多個項目時出現大亂子...... 但常見的方法是要使用IDE:P NiziL 2014-11-25 14:49:59

回答

4

通常的方法是使用像SBT或Maven(通過scala插件)​​構建系統來管理依賴關係,類路徑和構建週期。

+0

要添加到此。如果你有一個正在運行的sbt項目,「sbt test:console」會調出正確設置類路徑的scala repl。 – 2014-11-25 23:51:35

+0

我已經玩了一陣子了。 sbt是一個輝煌的構建系統。看起來sbt會幫助我爲我構建一個完整的環境(依賴項,文件夾......)。但有時我只想測試一個簡單的文件,不想涉及sbt構建項目。像python一樣,我只能導入unittest,編寫testcase,然後在一個文件中運行unittest.main()。 – 2014-11-26 01:40:46

+0

我不是最好的人,因爲我討厭它,但是我覺得寫一個maven pom是值得的,即使是非常簡單的兩到三個類的項目也是如此。一個pom可以像四到五行XML一樣簡單(你只需要定義「groupId」,項目名稱和版本),這意味着你的項目是以IDE和其他工具理解的標準方式定義的,就像任何其他項目,隨着項目的發展,這一切都只是工作,而不是需要一個混亂的過渡。額外的目錄是一件雜事,但IDE將它們摺疊起來。 – lmm 2014-11-26 10:09:21