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 {
}
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
コメントからアランベイトマンに感謝します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加