Gradle实现未将Gradle模块导入Gradle项目

Nitishkumar辛格

在同一个Eclipse工作区文件夹中创建了两个gradle,比如说Libary -ProjectTestProject以下是Library Projectbuild.gradlesettings.gradle
图书馆项目build.gradle

/*
 * This build file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java Library project to get you started.
 * For more details take a look at the Java Libraries chapter in the Gradle
 * user guide available at https://docs.gradle.org/3.5/userguide/java_library_plugin.html
 */

// Apply the java-library plugin to add support for Java Library
apply plugin: 'java-library'

// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

dependencies {

    // This dependency is exported to consumers, that is to say found on their compile classpath.
    api 'org.apache.commons:commons-math3:3.6.1'

    // This dependency is used internally, and not exposed to consumers on their own compile classpath.
    implementation 'com.google.guava:guava:21.0'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'
}

version = '0.1.0'

jar {
    manifest {
        attributes('Implementation-Title': project.name,
                   'Implementation-Version': project.version)
    }
}

图书馆项目settings.gradle

rootProject.name = 'Library-Project'


现在,让我们看一下测试项目build.gradlesettings.gradle,我将在其中导入库项目。

测试项目build.gradle

/*
 * This build file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java Library project to get you started.
 * For more details take a look at the Java Libraries chapter in the Gradle
 * user guide available at https://docs.gradle.org/3.5/userguide/java_library_plugin.html
 */

// Apply the java-library plugin to add support for Java Library
apply plugin: 'java-library'

// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

dependencies {
    // This dependency is exported to consumers, that is to say found on their compile classpath.
    api 'org.apache.commons:commons-math3:3.6.1'

    implementation project(':Libary-Project')
    // This dependency is used internally, and not exposed to consumers on their own compile classpath.
   implementation 'com.google.guava:guava:21.0'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'
}

测试项目settings.gradle

include ':Library-Project'
rootProject.name = 'TestProject'


每当我尝试刷新Gradle Test Project时,都会收到以下错误。

由于连接到Gradle构建错误,因此将Gradle项目与工作区同步失败。提供的构建操作失败,但发生异常。

无法解析配置':compileClasspath'的所有依赖项。Project:声明从配置“实现”到配置“默认”的依赖关系,该依赖关系未在project:Library-Project的描述符中声明。org.gradle.tooling.BuildActionFailureException:提供的构建操作因异常而失败。在org.org.gradle.tooling.internal.consumer.connection.CancellableConsumerConnection $ CancellableActionRunner.run(CancellableConsumerConnection.java:104)在org.org.gradle.tooling.internal.consumerConnection.AbstractConsumerConnection.run(AbstractConsumerConnection.java:62) .gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:53)在org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter $ 1。91)在org.eclipse.buildship.core.workspace.internal.SynchronizeGradleBuildsJob.runToolingApiJob(SynchronizeGradleBuildsJob.synchronizeBuild(SynchronizeGradleBuildsJob.java:81)at org.eclipse.buildship.core.workspace.internal.SynchronizeGradleBuildsJob.synchronizeBuild(SynchronizeGradleBuildsJob.java:81) org.eclipse上的.eclipse.buildship.core.util.progress.ToolingApiJob $ 1.run(ToolingApiJob.java:73)位于org.eclipse.buildship.core.util.progress.ToolingApiInvoker.invoke(ToolingApiInvoker.java:62)。在org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)处buildship.core.util.progress.ToolingApiJob.run(ToolingApiJob.java:70)由org.gradle.api.artifacts引起。 ResolveException:无法解析配置':compileClasspath'的所有依赖项。在org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.wrapException(ErrorHandlingConfigurationResolver。46)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java) :748)由以下项目引起:org.gradle.internal.component.model.ConfigurationNotFoundException:Project:声明从配置“实现”到配置“ default”的依赖关系,该依赖关系未在项目的描述符中声明:AO-Product-VideoToClips-Library 。在org.gradle.internal.component.model.LocalComponentDependencyMetadata.selectConfigurations(LocalComponentDependencyMetadata.java:124)在org.gradle.internal.component.local.model.DslOriginDependencyMetadataWrapper.selectConfigurations(DslOriginDependencyMetadataWrapper.java:65)在org.gradle。 .internal.artifacts.ivyservice.resolveengine.graph。


任何帮助将不胜感激。

Nitishkumar辛格

如此,我已经提到两个项目都在相同的文件夹结构中,如下所示:

  • 工作区文件夹
    • 测试项目
    • 图书馆项目

TestProject中引用Library-Project,请更新TestProject的settings.gradle,如下所示

include ':Library-Project'
project(':Library-Project').projectDir = new File('../Library-Project')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章