如何使用 Maven 在纯 Java 项目中尝试 Dagger 2 - intellij IDEA

Win*_*ing 6 java intellij-idea maven dagger

我从朋友那里听说 Dagger 2 在 Android 中使用它。它相当不错!

但是我有一个疯狂的想法,我想在 Maven 中构建的纯 Java 项目中尝试 Dagger 2 示例并使用 intellij IDEA。但是 Compiler 出错了,无法像 Dagger 用户指南一样从 ConffeeShop 界面生成 DaggerCoffeeShop 类。

我所有的示例代码都与示例相同。

CoffeeShop coffeeShop = DaggerCoffeeShop.builder()
    .dripCoffeeModule(new DripCoffeeModule())
    .build();
Run Code Online (Sandbox Code Playgroud)

我反过来试图对enable annotation processingsetting> compiler,但它不工作。我需要你的帮助来完成我疯狂的想法。:(

Fra*_*lli 7

使用 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>
Run Code Online (Sandbox Code Playgroud)