gpt4 book ai didi

java - 找不到 Gradle Java 9 模块

转载 作者:搜寻专家 更新时间:2023-11-01 03:16:28 24 4
gpt4 key购买 nike

我尝试使用 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()
}
}
}
}

爬虫/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/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

感谢 Alan Bateman 的评论。

关于java - 找不到 Gradle Java 9 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48841567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com