2011-11-22 46 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 + –

相关问题