Compilation errors in vscode, but not in maven nor in Intellij
維護者通常 1 天內回覆
@CsCherrYY 已經在處理了。
開始於 2022年10月28日。
評估
這個 Issue 還沒有評估資料。
描述
(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}"
]
}
]
}
- 主要語言
- TypeScript
- 星號
- 591
- 分支
- 431
- 平均合併
- 21 小時 35 分鐘
- 30 天內合併 PR
- 16
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
microsoft/vscode-java-debug 的其他 Issue
-
java未關閉ai-triaged needs more info
難度 5/5 一週以上 新手友好度 1/100
microsoft/vscode-java-debug#1707 · 1 則留言 · 1 個 reaction ·
維護者通常 1 天內回覆
-
Stopping a Java Application with the debugger Stop button dos not work可能已有人在做 @chagong 於 7 天前認領。 未關閉ai-triaged bug
microsoft/vscode-java-debug#1705 · 1 則留言 · 1 個 reaction · 已指派 1 人 ·
維護者通常 1 天內回覆
-
ai-triaged enhancement
難度 3/5 1-2 天 新手友好度 55/100
microsoft/vscode-java-debug#1689 · 3 則留言 ·
維護者通常 1 天內回覆
-
Extension appends malformed string to PATH可能重新可做 @wenytang-ms 於 57 天前認領,目前沒有進行中的 PR。 未關閉ai-triaged bug
microsoft/vscode-java-debug#1666 · 1 則留言 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
ai-triaged bug
難度 3/5 1-2 天 新手友好度 48/100
microsoft/vscode-java-debug#1658 · 1 則留言 ·
維護者通常 1 天內回覆
查看 microsoft/vscode-java-debug 的全部 Issue
相似的 Issue
-
fix(data-lake): wizard source step still previews the local slug, not the server-disambiguated one未關閉data-lake
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
enhancement good first issue priority: low size: XS
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
難度 1/5 1-3 小時 新手友好度 88/100
-
bug ios mobile priority:P1
難度 2/5 1-3 小時 新手友好度 76/100
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 90/100
streamplace/streamplace#1351 ·
維護者通常 2 天內回覆