假设有三个项目A,B和C.C中的模块将由A和B共享。因为没有java的CLASSPATH,所以在从C导入模块时是否需要使用绝对路径?
任何建议都表示赞赏!
答案 0 :(得分:8)
但是如果由于某种原因你不想这样做,那么最接近java类路径的是the -i
switch to ghc。请注意,当前目录需要在列表中明确显示。
答案 1 :(得分:7)
规范的方法是仔细选择它们应该位于模块层次结构中的位置,并将每个项目变成一个功能齐全的Cabal包,然后在本地安装它们,以便它们成为编译器命名空间的一部分本地。
这样,每个模块都可用于您正在编写的任何源代码。
如果(例如)使用leksah IDE,它将为您完成大量工作。
答案 2 :(得分:4)
如果“项目”是指Cabal包,那么标准的做法是从C中导出任何必要的模块,然后让A和B依赖于C并导入它们。将包中的源文件直接依赖于不属于该包的文件并不是一个好主意。