我想編譯一個java 9模塊庫與GA Jdk 9在一個debian系統與gradle 4.2。 要做到這一點,我只是做這個用ModulePath進行更換我的類路徑:Java 9 gradle不能找到javafx模塊
compileJava {
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
]
classpath = files()
}
}
我在classpath中我所有的依賴圖書館的,他們進入ModulePath進行,並且工作正常,當我嘗試編譯確實找到我所有的圖書館。
現在的問題是該項目也使用javafx。在Java 8中,jfxrt.jar被包含在jdk中,並且據我所知,它在默認的類路徑中。 對於Java 9我紅色,它現在也模塊化和包括。
但是當我嘗試編譯模塊,編譯器告訴我,他無法找到JavaFX的模塊:
.../src/module-info.java:10: error: module not found: javafx.controls
requires javafx.controls;
^
在Windows上正常工作,而不JavaFX的在ModulePath進行
的jdk包括JavaFX的beeing: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
Debian版本可能沒有JavaFX模塊。 'java --list-modules'將列出運行時映像中的模塊,是否列出了javafx。*模塊? –
謝謝,我的--list-modules不包含javafx。*模塊。看來我沒有下載正確的jdk。我從http://jdk.java.net/9/獲得了我的Jdk。這個Jdk似乎沒有包含javafx模塊。來自oracle網站的人確實包括它,現在它正在工作 – Ben