我在同一个Eclipse工作区文件夹中创建了两个gradle,比如说Libary -Project和TestProject。以下是Library Project的build.gradle和settings.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.gradle和settings.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。
任何帮助将不胜感激。
如此,我已经提到两个项目都在相同的文件夹结构中,如下所示:
要在TestProject中引用Library-Project,请更新TestProject的settings.gradle,如下所示
include ':Library-Project'
project(':Library-Project').projectDir = new File('../Library-Project')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句