如何使用 Maven - intellij IDEA 使用纯 java 项目尝试 Dagger 2
How to try Dagger 2 with pure java Project using Maven - intellij IDEA
我从朋友那里听说 Dagger 2 在 Android 中使用它。挺好的!
但我有一个疯狂的想法,我想在纯 java 项目中尝试 Dagger 2 示例,在 Maven 中构建并使用 intellij IDEA。但是编译器出了点问题,无法像 Dagger 用户指南那样从 ConffeeShop 界面生成 DaggerCoffeeShop class。
我的所有示例代码都与示例相同。
CoffeeShop coffeeShop = DaggerCoffeeShop.builder()
.dripCoffeeModule(new DripCoffeeModule())
.build();
我尝试在 setting
> compiler
中打开 enable annotation processing
但它不起作用。我需要你的帮助来完成我疯狂的想法。 :(
使用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>
在 Intellij Dagger 2 中,在目录 target\generated-sources 下创建自动生成的 类。您必须将此文件夹添加到源中,然后才能使用这些自动生成的 java 类.
我从朋友那里听说 Dagger 2 在 Android 中使用它。挺好的!
但我有一个疯狂的想法,我想在纯 java 项目中尝试 Dagger 2 示例,在 Maven 中构建并使用 intellij IDEA。但是编译器出了点问题,无法像 Dagger 用户指南那样从 ConffeeShop 界面生成 DaggerCoffeeShop class。
我的所有示例代码都与示例相同。
CoffeeShop coffeeShop = DaggerCoffeeShop.builder()
.dripCoffeeModule(new DripCoffeeModule())
.build();
我尝试在 setting
> compiler
中打开 enable annotation processing
但它不起作用。我需要你的帮助来完成我疯狂的想法。 :(
使用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>
在 Intellij Dagger 2 中,在目录 target\generated-sources 下创建自动生成的 类。您必须将此文件夹添加到源中,然后才能使用这些自动生成的 java 类.