elasticsearch - JHipster:Elasticsearch:.yo-rc.json 设置
问题描述
我的问题很简单:如果你想在你的 JHipster 应用程序中使用 Elasticsearch,你需要包含"serverSideOptions": ["searchEngine:elasticsearch"],
在.yo-rc.json
配置文件中吗?
今天,我在生成 JHipster 项目时注意到一个奇怪的事情:一次使用“问答”命令行方法,第二次使用 JDL 文件。
第一关:使用“问答”
使用“问答”命令行方法,我选择在我的项目中包含 elasticsearch。项目已生成,并创建了以下.yo-rc.json
配置文件(以及项目代码的其余部分):
{
"generator-jhipster": {
"authenticationType": "jwt",
"cacheProvider": "ehcache",
"clientFramework": "angularX",
"serverPort": "8080",
"serviceDiscoveryType": false,
"skipUserManagement": false,
"withAdminUi": true,
"baseName": "myproj",
"buildTool": "gradle",
"databaseType": "sql",
"devDatabaseType": "mariadb",
"enableHibernateCache": true,
"enableSwaggerCodegen": false,
"enableTranslation": true,
"jhiPrefix": "jhi",
"languages": ["en", "es"],
"messageBroker": false,
"prodDatabaseType": "mariadb",
"searchEngine": "elasticsearch",
"serverSideOptions": ["searchEngine:elasticsearch"],
"skipClient": false,
"testFrameworks": ["protractor"],
"websocket": false,
"packageName": "com.mycompany.app",
"packageFolder": "com/mycompany/app",
"applicationType": "monolith",
"clientPackageManager": "npm",
"nativeLanguage": "en",
"jwtSecretKey": "(it's a secret)",
"jhipsterVersion": "7.1.0",
"skipServer": false,
"dtoSuffix": "DTO",
"entitySuffix": "",
"reactive": false,
"clientTheme": "none",
"clientThemeVariant": "",
"entities": [],
"skipCheckLengthOfIdentifier": false,
"skipFakeData": false,
"blueprints": [],
"otherModules": [],
"pages": [],
"creationTimestamp": 1624659113018,
"devServerPort": 4200
}
}
第二遍:使用 JDL 文件
第二次,我创建了一个 JDL 文件 ( myproj-app.jh
),如下所示:
application {
config {
baseName myproj,
packageName com.mycompany.app,
applicationType monolith,
authenticationType jwt,
cacheProvider ehcache,
enableHibernateCache true,
databaseType sql,
devDatabaseType mariadb,
prodDatabaseType mariadb,
searchEngine elasticsearch,
buildTool gradle,
clientPackageManager npm,
clientFramework angular,
testFrameworks [protractor],
nativeLanguage en,
languages [en, es],
jhiPrefix jhi,
jwtSecretKey "(it's a secret)"
}
}
然后在命令行中,我通过键入以下内容生成了应用程序:jhipster jdl myproj-app.jh
这第二次,生成的.yo-rc.json
配置文件几乎与使用第一种方法(“问题和答案”)创建的配置文件相同,但是它缺少一行:
"serverSideOptions": ["searchEngine:elasticsearch"],
我的问题
.yo-rc.json
配置文件"serverSideOptions": ["searchEngine:elasticsearch"],
行项目重要吗?有谁知道它的作用?为什么它是使用第一种方法而不是使用 JDL 方法生成的?
我想命令行“问题和答案”方法插入它是有原因的,所以,在重新生成我的应用程序时,我一直在使用.yo-rc.json
配置文件,直到我更好地理解这个serverSideOptions
条目是什么,以及它为什么从 JDL 中丢失生成的配置文件。
PS:使用.yo-rc.json
“问答”方法中生成的配置文件,Elasticsearch正在我的项目中工作。
[我的设置:Windows 10 Pro 21H1、IntelliJ IDEA 2021.1.2 (Build #IU-211.7442.40)、JHipster 7.1.0、Elasticsearch 7.9.3]