Java Gradle:从应用脚本导入插件类
我对gradle(多项目包装器)有一种奇怪的行为: 我的根Java Gradle:从应用脚本导入插件类,java,gradle,plugins,import,Java,Gradle,Plugins,Import,我对gradle(多项目包装器)有一种奇怪的行为: 我的根build.gradle文件 plugins { // Docker plugin id "de.gesellix.docker" version "2017-10-05T23-00-11" } 脚本助手java docker.gradle apply plugin: "de.gesellix.docker" import de.gesellix.gradle.docker.tasks.DockerBuildTask
build.gradle
文件
plugins {
// Docker plugin
id "de.gesellix.docker" version "2017-10-05T23-00-11"
}
脚本助手java docker.gradle
apply plugin: "de.gesellix.docker"
import de.gesellix.gradle.docker.tasks.DockerBuildTask
import de.gesellix.gradle.docker.tasks.DockerTask
task prepareDockerImage(type: DockerBuildTask, dependsOn: war) {
// Task here
}
我的应用程序build.gradle
:
apply from: "${gradleDirPath}/java-docker.gradle"
apply from: "${gradleDirPath}/java-webapp.gradle"
dependencies {
// App dependencies
}
运行/gradlew help
时,我遇到:
无法解析类de.gesellix.gradle.docker.tasks.DockerTask@第6行第1列。 导入de.gesellix.gradle.docker.tasks.DockerTask 及 无法解析类 de.gesellix.gradle.docker.tasks.DockerBuildTask@第5行第1列。 导入de.gesellix.gradle.docker.tasks.DockerBuildTask 我已经尝试从app
build.gradle
中删除“${gradleDirPath}/java docker.gradle”中的apply,并直接在appbuild.gradle
中应用插件和导入,并且这正按照预期工作
知道从应用脚本导入失败的原因吗?问题在于新的插件机制没有将插件类添加到脚本类路径中。它们仅对rootbuild.gradle
和项目build.gradle
可用
所以我不得不回到旧的构建脚本机制
我的java docker.gradle
现在看起来像:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "de.gesellix:gradle-docker-plugin:2017-10-05T20-48-17"
}
}
apply plugin: de.gesellix.gradle.docker.DockerPlugin
import de.gesellix.gradle.docker.tasks.DockerBuildTask
import de.gesellix.gradle.docker.tasks.DockerTask
我还在我的rootbuild.gradle中删除了docker的插件条目
apply plugin: "de.gesellix.docker"
import de.gesellix.gradle.docker.tasks.DockerBuildTask
import de.gesellix.gradle.docker.tasks.DockerTask
task prepareDockerImage(type: DockerBuildTask, dependsOn: war) {
// Task here
}
编辑用于
我的目录结构如下所示:
.
├── buildsystem
│ ├── build.gradle
│ ├── gradle
│ │ └── java-docker.gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── README.md
│ └── settings.gradle
└── myapp
├── build.gradle
└── settings.gradle
你能提供一个目录结构吗?