С помощью Jason Desrosiers я наконец нашел решение и для моего вложенного json.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"apiVersion",
"apiDate"
],
"anyOf": [
{
"properties": {
"general": {
"properties": {
"documentType": { "enum": ["invoice"] },
"references": {
"required": ["invoiceId", "invoiceDate"]
}
}
}
}
},
{
"properties": {
"general": {
"properties": {
"documentType": { "enum": ["creditNote"] },
"references": {
"required": ["creditNoteId", "creditNoteDate"]
}
}
}
}
}
],
"properties": {
"apiVersion": {
"type": "string",
"description": "The version of the json file"
},
"apiDate": {
"type": "string",
"description": "The date when the json version was published"
},
"general": {
"$ref": "#/definitions/general_identifiers",
"references": {
"type": "object",
"properties": {
"invoiceId": {
"type": "string"
},
"invoiceDate": {
"type": "string"
},
"creditNoteId": {
"type": "string"
},
"creditNoteDate": {
"type": "string"
}
}
}
}
},
"definitions" : {
"general_identifiers" : {
"type": "object",
"required": [
"documentType"
],
"properties": {
"documentType": {
"enum": [
"invoice",
"creditNote"
]
}
}
}
}
}
Я могу изменить целевую платформу во времени выполнения, с помощью -install
опция во время выполнения. Сохраните targetPlatform как платформу затмения.
Однако это теряет много преимуществ использования целевой платформы во-первых - т.е. безопасность времени компиляции.
Если вы используете пакеты Eclipse SDK при построении целевой платформы, вам немедленно должны быть предоставлены «Прикрепление исходного кода Java» и «Местоположение Javadoc» для каждого подключаемого модуля Eclipse. Например, я использовал «Eclipse Platform SDK» (eclipse-platform-SDK-3.4.2-win32) в качестве целевого пространства, и когда я показываю «страницу местоположений исходного кода», которую вы упомянули, она заполняется «Исходными местоположениями, объявленными в целевая платформа ». Затем в Eclise IDE я могу увидеть исходный код основных подключаемых модулей Eclipse и javadoc (например, в пакетах JFace).
В противном случае добавить местоположения исходного кода подключаемых модулей не так просто, но вы можете добиться этого двумя способами:
Дополнительную информацию о целевом расположении исходного кода можно найти в справке Eclipse в следующем разделе: Руководство по среде разработки подключаемых модулей> Инструменты> Настройки> Настройки целевой платформы> Расположение исходного кода