Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Compilation errors in vscode, but not in maven nor in Intellij

Open
#1,247 11 comments 0 reactions 2 assignees View on GitHub

@CsCherrYY is already working on this.

Since Oct 28, 2022.

Assessment

This issue has not been assessed yet.

Description

ai-triaged bug compile

(Quick note: I'm not 100% if this is the right repo for this, as I'm not 100% sure if the error is here or with the language server (or something else entirely), but trying here first)

Brief backstory: My colleagues use Intellij as they work fulltime on backend and prefer it. I primarily work frontend, and use Vscode. This has worked fine for a while, but recently (1-2 months back) it started throwing weird errors.

When I open the project, I get several of the error messages below in the "Problems" tab. If I try running my debugger and click "Proceed" in the prompt about build errors, it fails to start up with this error:

Caused by: java.lang.Error: Unresolved compilation problem: 
	Type mismatch: cannot convert from Class<DocumentValidator> to Class<? extends ConstraintValidator<?,?>>

	at com.equinor.gom.model.validator.annotation.ValidateDocument.<clinit>(ValidateDocument.java:14)
ValidateDocument.java:14
	at java.base/java.lang.Class.forName0(Native Method)

If I close java files and run mvn clean install in the terminal, then run the debugger, I get the prompt about build errors, but after clicking "Proceed" the application starts up fine. If I run the application with mvn spring-boot:run, it also starts fine.

Relevant code in stacktrace:
@Constraint(validatedBy = {AssetAreaValidator.class})

AssetAreaValidator:

@Component
@Slf4j
public class AssetAreaValidator extends parentValidator implements ConstraintValidator<ValidateAssetArea, AssetArea> {

    @Override
    public void initialize(ValidateAssetArea constraintAnnotation) {
        super.initialize(constraintAnnotation);
    }

    @Override
    public boolean isValid(AssetArea value, ConstraintValidatorContext context) {
       return validate(value, context);
    }

    private boolean validate(AssetArea value, ConstraintValidatorContext context) {
        if (value == null) {
            return false;
        }

        // create factory in order to generate correct validators
        var validatorFactory = new VerifierFactory<Container>();

        return verifierOrchestrator.validateAllRulesForSingleObject(value, validatorFactory,
                VerifierOrchestrator.DocumentEntity.assetArea, context);
    }
}

parentValidator:

public abstract class parentValidator<T> {
    protected ValidatorUtil validatorUtil = null;
    protected VerifierOrchestrator verifierOrchestrator = null;

    protected void initialize(T constraintAnnotation) {
        sanityCheck();
    }

    private void sanityCheck() {
        if (validatorUtil == null) {
            validatorUtil = ApplicationContextProvider.getBean(ValidatorUtil.class);
        }
        if (verifierOrchestrator == null) {
            verifierOrchestrator = ApplicationContextProvider.getBean(VerifierOrchestrator.class);
        }
    }
}
Environment
  • Operating System: macOS Ventura
  • JDK version: 11.0.16.1 (tried with 11.0.6 as well)
  • Visual Studio Code version: 1.72.2 (Universal)
  • Java extension version: Pre-release version
  • Java Debugger extension version: Pre-release version
{
  message: '[Error - 2:53:37 PM] 25. okt. 2022, 14:53:37 Error occured while building workspace. Details: \n' +
    ' message: Type mismatch: cannot convert from Class<AssetAreaValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateAssetArea.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<AssetLocationValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateAssetLocation.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<ContainerValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateContainer.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<ContractualRateValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateContractualRate.java; line: 13\n' +
    ' message: Type mismatch: cannot convert from Class<CurrencyValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateCurrency.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<DocumentValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateDocument.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<DocumentBalanceValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateDocumentBalance.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<DocumentCategoryValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateDocumentCategory.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<DocumentMovementValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateDocumentMovement.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<IcsControlInvoiceLineValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateIcsIcsControlInvoiceLine.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<InvoiceValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateInvoice.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<InvoiceLineValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateInvoiceLine.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<LabelValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateLabel.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<LegalEntityValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateLegalEntity.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<LineTypeValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateLineType.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<MovementTypeValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateMovementType.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<PipelineBalanceValidaor> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidatePipelineBalance.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<PipelineNodeValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidatePipelineNode.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<PipelineSystemValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidatePipelineSystem.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<QuantityBalanceValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateQuantityBalance.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<QuantityMovementValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateQuantityMovement.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<RateChangeTriggerValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateRateChangeTrigger.java; line: 15\n' +
    ' message: Type mismatch: cannot convert from Class<TemplateValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateTemplate.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<UomValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateUom.java; line: 14\n' +
    ' message: Type mismatch: cannot convert from Class<ValueMappingValidator> to Class<? extends ConstraintValidator<?,?>>; code: 16777233; resource: /Users/RHENRI/dev/oilmod-gom/backend/model/src/main/java/com/equinor/gom/model/validator/annotation/ValidateValueMapping.java; line: 14',
  level: 'info',
  timestamp: '2022-10-25 14:53:37.382'
}
Current Result

VS Code fails to compile the application, resulting in a runtime error, but running maven directly works fine, and debugger also works after I run mvn clean install

Expected Result

VS Code should just work ™️

Additional Informations

launch.json:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Launch GomApplication",
            "request": "launch",
            "mainClass": "com.equinor.gom.backend.GomApplication",
            "console": "internalConsole",
            "projectName": "backend",
            "args": [
                "--spring.profiles.active=local",
                "--database=${command:SpecifyProgramArgs}"
            ]
        }
    ]
}
Dominant language
TypeScript
Stars
591
Forks
429
Avg merge
1d 9h
Merged PRs (30d)
19

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/vscode-java-debug

All issues in microsoft/vscode-java-debug

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.