[英]Gradle Java 9 Module not found
我嘗試使用Gradle在Java 9中開發一個小例子。 但是我找不到制作工作運行配置的確切選項。 我試圖從這個小教程中復制正確的部分。 但是運行任務只會出錯
java.lang.module.FindException:找不到模塊de.project.crawler
顯然我給Gradle的模塊路徑有一個錯誤,但我不知道如何解決這個問題。
我的工作目錄
project/
crawler/
| src/
| | main/
| | | java/
| | | | de.project.crawler/
| | | | | Main.java
| | module-info.java
| build.gradle
| settings.gradle
build.gradle
settings.gradle
的build.gradle:
subprojects {
afterEvaluate {
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
]
classpath = files()
}
}
}
}
履帶/的build.gradle:
plugins {
id 'java-library'
id 'application'
}
ext.moduleName = 'de.project.crawler'
mainClassName = 'de.project.crawler/de.project.crawler.Main'
repositories {
jcenter()
}
run {
inputs.property("moduleName", moduleName)
doFirst {
jvmArgs = [
'--module-path', classpath.asPath,
'--module', mainClassName
]
classpath = files()
}
}
startScripts {
inputs.property("moduleName", moduleName)
doFirst {
classpath = files()
defaultJvmOpts = [
'--module-path', 'APP_HOME_LIBS',
'--module', mainClassName
]
}
}
履帶/ SRC / module-java.info
module de.project.crawler {
}
履帶/ SRC /主/爪哇/ de.project.crawler / Main.java
package de.project.crawler;
public class Main {
public static void main(String[] args) {
System.out.println("Hallo");
}
}
所以,如果我在IntelliJ中嘗試這一切,一切正常。 如果我在cmd上嘗試這個,用java9編譯並運行它,一切正常。 如果我嘗試'gradle run',他會說明我在介紹中給你的錯誤。
module-info.java位置錯誤。 該文件必須位於模塊中的src/main/java
上。 這是正確的結構:
project/
crawler/
| src/
| | main/
| | | java/
| | | | de.project.crawler/
| | | | | Main.java
| | | | module-info.java
| build.gradle
| settings.gradle
build.gradle
settings.gradle
感謝Alan Bateman的評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.