Gradle Java 9 未找到模块
Gradle Java 9 Module not found
我尝试用 Gradle 在 Java 9 中开发一个小例子。但是我没有找到制作工作 运行 配置的确切选项。我试图从 this little tutorial 复制正确的部分。但是 运行 任务确实得到一个错误
java.lang.module.FindException: Module de.project.crawler not found
显然我提供的模块路径有误 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()
}
}
}
}
crawler/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
]
}
}
crawler/src/module-java.info
module de.project.crawler {
}
crawler/src/main/java/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
感谢艾伦·贝特曼的评论。
我尝试用 Gradle 在 Java 9 中开发一个小例子。但是我没有找到制作工作 运行 配置的确切选项。我试图从 this little tutorial 复制正确的部分。但是 运行 任务确实得到一个错误
java.lang.module.FindException: Module de.project.crawler not found
显然我提供的模块路径有误 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()
}
}
}
}
crawler/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
]
}
}
crawler/src/module-java.info
module de.project.crawler {
}
crawler/src/main/java/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
感谢艾伦·贝特曼的评论。