我正在運行一個ceylon項目的錫蘭typechecker,其中包含一個run.ceylon,它完全是typechecker/src/main/Main.java。從錫蘭運行錫蘭typechecker,就像typechecker/src/main/Main.java
這個項目應該是自我檢測。
它編譯沒有錯誤,但在運行時無法加載類型檢查的依賴關係。
文件:源極/ COM /示例/ withmodule/module.ceylon
native("jvm")
module com.example.withmodule "1.0" {
import com.redhat.ceylon.typechecker "1.3.0" ;
//import com.redhat.ceylon.module-resolver "1.3.0";
}
文件:源極/ COM /示例/ withmodule/run.ceylon
import java.io{File}
import com.redhat.ceylon.cmr.api{RepositoryManager}
import com.redhat.ceylon.cmr.ceylon{CeylonUtils}
import com.redhat.ceylon.compiler.typechecker{TypeCheckerBuilder}
import com.redhat.ceylon.compiler.typechecker.io.cmr.impl{LeakingLogger}
shared void run(){
value args = ["/absolutepath/ceylon-1.3.0/source/"];
RepositoryManager repositoryManager =
CeylonUtils.repoManager()
.systemRepo("/absolutepath/ceylon-1.3.0/repo")
.logger(LeakingLogger())
.buildManager();
TypeCheckerBuilder tcb =
TypeCheckerBuilder()
.setRepositoryManager(repositoryManager)
.verbose(true)
.statistics(true);
for (String path in args) {
tcb.addSrcDirectory(File(path));
}
tcb.typeChecker.process();
}
它編譯沒有錯誤。
但運行時產生的錯誤:
error [package not found in imported modules: 'com.redhat.ceylon.cmr.api' (add module import to module descriptor of 'com.example.withmodule')] at 2:7-2:31 of com/example/withmodule/withmodule.ceylon
error [package not found in imported modules: 'com.redhat.ceylon.cmr.ceylon' (add module import to module descriptor of 'com.example.withmodule')] at 3:7-3:34 of com/example/withmodule/withmodule.ceylon
error [package not found in imported modules: 'com.redhat.ceylon.compiler.typechecker' (add module import to module descriptor of 'com.example.withmodule')] at 4:7-4:44 of com/example/withmodule/withmodule.ceylon
error [package not found in imported modules: 'com.redhat.ceylon.compiler.typechecker.io.cmr.impl' (add module import to module descriptor of 'com.example.withmodule')] at 5:7-5:56 of com/example/withmodule/withmodule.ceylon
這是沒有意義的我,因爲編譯和類型檢查剛剛之前succeded。
這是一個新鮮的錫蘭1.3.0下載,未安裝,只需從解壓縮的.tar.gz運行即可。
typechecker需要什麼額外的信息,它沒有得到?
Btw喲,我剛剛對即將發佈的1.3.1版本進行了一些更改,您可以通過更簡單的方式設置typechecker +模型加載器:https://gist.github .com/quintesse/004e33e84553abd75412ceb3d164bf4a – Quintesse