2016-12-04 13 views
2

Dagger 2はAndroidで使用していると聞いています。それはかなり良い!Mavenを使った純粋なJavaプロジェクトでDagger 2を試してみる - intellij IDEA

しかし、私は夢のようなアイデアを持っています。純粋なJavaプロジェクトをMavenでビルドし、intellij IDEAを使ってDagger 2の例を試してみたいです。しかし、コンパイラの何か間違いは、DaggerユーザガイドのようなConffeeShop InterfaceからDaggerCoffeeShopクラスを生成できませんでした。

すべてのサンプルコードは例と同じです。

CoffeeShop coffeeShop = DaggerCoffeeShop.builder() .dripCoffeeModule(new DripCoffeeModule()) .build();

私はsetting>compilerenable annotation processingにターンをしようとしたが、それは動作しません。私はあなたの助けが私のクレイジーなアイデアを完了するために必要です。 :(

+2

ことではありませんクレイジーアイデア。 Dagger2はJavaで使用でき、Javaで使用されます。ライブラリをmaven/gradle(またはmaven/gradleを使用していない場合はクラスパス)に正しくインポートしていることを確認してください。 – Bajal

+0

以下のコードでpom.xmlに依存関係を宣言して、Dagger2アノテーションを通常使うことができます。 CoffeShopインターフェースからDaggerCoffeShopクラスを生成することはできません。 ' com.google.dagger 私はそれをも動作させるために管理していませんでした短剣 2.7' – Wing

+0

。 – mbob

答えて

0

使用JDK 8それはJDK 9をサポートする必要がありますが、私はそれを行うにはどのようにそれを把握していない;)

はPOMに含めるようにしてください:

<dependencies> 

    <dependency> 
     <groupId>com.google.dagger</groupId> 
     <artifactId>dagger</artifactId> 
     <version>2.11</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.dagger</groupId> 
     <artifactId>dagger-compiler</artifactId> 
     <version>2.11</version> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
       <annotationProcessorPaths> 
        <path> 
         <groupId>com.google.dagger</groupId> 
         <artifactId>dagger-compiler</artifactId> 
         <version>2.11</version> 
        </path> 
       </annotationProcessorPaths> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
関連する問題