vscode: сгенерированный кинжалом код не обнаружен - PullRequest
0 голосов
/ 01 апреля 2020

Я создал проект Gradle. Это build-gradle:

plugins {
    id 'java'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'com.amazonaws:aws-lambda-java-core:1.2.0'
    implementation 'com.amazonaws:aws-lambda-java-events:2.2.7'
    implementation 'com.amazonaws:aws-java-sdk-s3:1.11.754'
    implementation 'com.amazonaws:aws-java-sdk-dynamodb:1.11.754'

    implementation 'org.apache.logging.log4j:log4j-api:2.13.0'
    implementation 'org.apache.logging.log4j:log4j-core:2.13.0'
    runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.13.0'
    runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.1.0'

    implementation 'com.opencsv:opencsv:5.1'

    implementation 'com.google.dagger:dagger:2.27'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.27'

    testImplementation('org.junit.jupiter:junit-jupiter:5.6.1')
}

test {
    useJUnitPlatform()
    testLogging {
        events "passed", "skipped", "failed"
    }
}

task buildZip(type: Zip) {
    from compileJava
    from processResources
    into('lib') {
        from configurations.runtimeClasspath
    }
}

build.dependsOn buildZip

Как видите, я установил зависимости кинжала:

implementation 'com.google.dagger:dagger:2.27'
annotationProcessor 'com.google.dagger:dagger-compiler:2.27'

Мой компонент:

@Component(modules = DaggerTransporterModule.class)
public interface TransporterMaker {

    SOCTransporter maker();

}

После выполнив gradle build, генерируются артефакты кинжала:

Я посмотрел на сгенерированный код:

$ tree build/classes/java/main/net/gencat/soc/lambda/config/
build/classes/java/main/net/gencat/soc/lambda/config/
├── DaggerTransporterMaker$Builder.class
├── DaggerTransporterMaker.class
├── DaggerTransporterModule.class
├── DaggerTransporterModule_ProvideContactServiceFactory.class
├── DaggerTransporterModule_ProvideCSVDaoFactory.class
├── DaggerTransporterModule_ProvideCSVDaoFactory$InstanceHolder.class
├── DaggerTransporterModule_ProvideDynamoDBDaoFactory.class
├── DaggerTransporterModule_ProvideDynamoDBDaoFactory$InstanceHolder.class
├── DaggerTransporterModule_ProvideS3DaoFactory.class
├── DaggerTransporterModule_ProvideS3DaoFactory$InstanceHolder.class
└── TransporterMaker.class

Как видите, артефакты кинжала генерируются правильно.

Тем не менее, я не могу использовать их внутри vscode:

enter image description here

Gradle работает нормально:

$ gradle compileJava

BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...