0
我目前正在嘗試獲取Maven部署者的URL在任務中,但它失敗。我能夠獲得Maven Deployer本身,但在調用方法mavenDeployer.getRepository()
時,顯然不能創建RemoteRepository類型的對象。Gradle - 獲取MavenDeployer URL
這裏是build.gradle
文件:
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file:///path/to/maven/repo/")
}
}
}
在我的任務:
Upload uploadArchives = project.getTasks().withType(Upload.class)
.findByName(BasePlugin.UPLOAD_ARCHIVES_TASK_NAME);
for(ArtifactRepository repo : uploadArchives.getRepositories()) {
if (repo instanceof MavenDeployer) {
MavenDeployer mavenDeployer = (MavenDeployer) repo;
System.out.println(repo) //Returns org.apache.maven.artifact.ant.RemoteRepository
RemoteRepository l = (RemoteRepository) mavenDeployer.getRepository() // Crashes here
}
}
它顯示:
Caused by: java.lang.ClassNotFoundException: org.apache.maven.artifact.ant.RemoteRepository
0:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':myTask'.
> org/apache/maven/artifact/ant/RemoteRepository
堆棧跟蹤的結束
顯然,Gradle無法找到類org.apache.maven.artifact.ant.RemoteRepository
,即使我成功導入它之後。如果我註釋掉創建類MavenDeployer
的行,它可以正常工作。
有沒有辦法解決這個問題?如果沒有,是否有另一種方式獲取Maven Deployer的存儲庫URL?