現在、タスクで Maven Deployer の URL を取得しようとしていますが、失敗しています。Maven Deployer 自体は取得できますが、メソッドを呼び出すときに RemoteRepository タイプのオブジェクトを作成できないようmavenDeployer.getRepository()です。
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
}
}
以下が表示されます。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':myTask'.
> org/apache/maven/artifact/ant/RemoteRepository
スタック トレースは次のように終了します。
Caused by: java.lang.ClassNotFoundException: org.apache.maven.artifact.ant.RemoteRepository
どうやら、org.apache.maven.artifact.ant.RemoteRepository正常にインポートした後でも、Gradle は class を見つけることができません。class を作成する行をコメントアウトすると、正常にMavenDeployer動作します。
これを修正する方法はありますか?そうでない場合、Maven Deployer のリポジトリ URL を取得する別の方法はありますか?