2016-07-20 22 views
0

Javaを使用して現在のプロジェクトの依存関係を取得するにはどうすればよいですか? 私は、Javaクラスでこのコードを試してみたが、結果は空です:あなたの答えのJBirdVegasため依存関係の取得方法Java

class Example implements Plugin<Project> { 
    void apply(Project project) { 
      project.getConfigurations().getByName("runtime").getAllDependencies();   
     } 
    } 

感謝。私は、Javaにあなたの例を記述してみてください:

List<String> deps = new ArrayList<>(); 
     Configuration configuration = project.getConfigurations().getByName("compile"); 
     for (File file : configuration) { 
      deps.add(file.toString()); 
     } 

をしかし、エラーがあります:

Cannot change dependencies of configuration ':compile' after it has been resolved. 

実行Gradleのビルドが

答えて

2

はあなただけ見つかった依存関係の上に文盲するステップを逃している

Groovy:

class Example implements Plugin<Project> { 
    void apply(Project project) { 
     def configuration = project.configurations.getByName('compile') 
     configuration.each { File file -> 
      println "Found project dependency @ $file.absolutePath" 
     }  
    } 
} 

のJava 8:

import org.gradle.api.Plugin; 
import org.gradle.api.Project; 
import org.gradle.api.artifacts.Configuration; 

public class Example implements Plugin<Project> { 
    @Override 
    public void apply(Project project) { 
     Configuration configuration = project.getConfigurations().getByName("compile"); 
     configuration.forEach(file -> { 
      project.getLogger().lifecycle("Found project dependency @ " + file.getAbsolutePath()); 
     }); 
    } 
} 

のJava 7:

import org.gradle.api.Plugin; 
import org.gradle.api.Project; 
import org.gradle.api.artifacts.Configuration; 

import java.io.File; 

public class Example implements Plugin<Project> { 
    @Override 
    public void apply(Project project) { 
     Configuration configuration = project.getConfigurations().getByName("compile"); 
     for (File file : configuration) { 
      project.getLogger().lifecycle("Found project dependency @ " + file.getAbsolutePath()); 
     } 
    } 
} 
+0

私は私の質問の本文にサンプルコードで答えるwrited)) – dmitryZaskovich

+1

、あなたの質問に回答コードを追加することが必要ではありません@dmitryZaskovich 。代わりに、答えを正しいものとして選択してください。 – JBirdVegas

+0

私はJavaで使用するとエラーが発生したコード例を返します( 私のJavaの実装は間違っていますか?) – dmitryZaskovich

関連する問題