早上好,
我一直在寻找我的问题的答案,但我没有找到。 我构建了一个包含许多模块的android项目。模块应该在存储库中发布(首先在本地maven存储库中)。 我用两个简单的项目pr1,pr2做了一个演示项目。现在我已经将pr1的依赖性添加到pr2。
compile ('de.test:project1:1.0.0')
之后,我可以发布两个工件。
现在,当我将名称从pr2更改为aPr2时,无法从aPr2中解析依赖项,因为jar文件不存在。问题是aPr2是在pr1之前构建的。
我如何告诉gradle以正确的顺序构建它?
这是我的其中一个项目的gradle文件。 Pr1类似,没有依赖性。
plugins {
id 'java'
id 'maven-publish'
}
dependencies {
// compile project(':project1')
compile ('de.test:project1:1.0.0')
testCompile 'junit:junit:4.12'
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
publishing {
publications {
publish(MavenPublication) {
groupId 'de.test'
artifactId 'project2'
version '1.0.0'
from components.java
}
}
}
关于
答案 0 :(得分:0)
您需要修改项目配置。
当您使用components.java
时,maven-publish
插件将设置Gradle项目配置中的groupId,artifactId和版本。
默认artifactId已使用项目名称设置(默认值:文件夹名称)。它是只读的,但您可以覆盖它。在子项目文件夹中创建settings.gradle
文件并设置模块名称:
rootProject.name = 'project1'
将这些行写入根项目目录中的build.gradle
文件中,以便设置groupId和所有项目的版本。
allprojects {
group 'de.test'
version '1.0.0'
}
如果您正确设置了所有内容,则可以从compile project(':project1')
您可以构建项目,并且可以使用de.test:project:1.0.0
依赖项发布您的pom文件。