2011-11-22 107 views
2

我有一個名爲'world'的模塊,它取決於模塊'hello'。這裏是'world'的項目結構: enter image description here編譯MSI中的scala代碼時找不到jar依賴項

其中lib是保存jar依賴項的目錄,bin是misl項目的輸出目錄。

我用下面的命令將其編譯成MISL:

SET SCALA_NET_DIRECTORY=E:\svn\scala-experimental\bootstrap 
%SCALA_NET_DIRECTORY%\bin\scalacompiler.exe -Xassem-extdirs %SCALA_NET_DIRECTORY%\bin -target:msil -d bin -classpath %SCALA_NET_DIRECTORY%\lib\hello-1.0.jar src\main\scala\my\world\App.scala 

其中scalacompiler.exesvn co http://lampsvn.epfl.ch/svn-repos/scala/scala-experimental/trunk/bootstrap實驗項目。

而且我得到了一個錯誤:

enter image description here

可以在任何Scala.Net專家給我一個建議?

回答

0

一個在你的命令行選項讀取

-classpath %SCALA_NET_DIRECTORY%\lib\hello-1.0.jar 

我猜你想先編譯HELLO-1.0作爲一個.dll(在命令行中沒有給出

-Xshow-class MyMainClass 

)然後編譯

src\main\scala\my\world\App.scala 

(作爲一個.exe,我想)與招呼-1.0.dll在-Xassem-extdir之一中找到s文件夾。

技巧和竅門使用在http://www.srtsolutions.com/tag/scala

+0

Scala.Net但是如果我需要第三個依賴,如共pool.jar? –

+0

多次使用-Xassem-extdirs,並且-Xassem-extdirs中給出的每個文件夾都可以包含正在編譯的程序所依賴的多個程序集。 有一個例子顯示在http://www.benbarefield.com/blog/?p=79 關於64位,CLR JIT編譯器拋出了一些例外,它的32位對象沒有(這是不是Scala.Net的錯誤)。解決這個問題的一種方法(直到JITter被修復)是corflags /32Bit + –

相關問題