LanguageTool Java app 运行 作为系统服务。 `--languagemodel` 参数被忽略

LanguageTool Java app running as a systemd service. `--languagemodel` argument is ignored

我已经下载了LanguageTool server。我为应用程序创建了一个 systemd 进程,以确保它可以轻松管理并在启动时开始:

Systemd

[Unit]
Description=LanguageTool Service

[Service]
WorkingDirectory=/opt/languagetool
ExecStart=/usr/bin/java -cp /usr/local/LangAnalysisApp/LangTool/LanguageTool-4.9/languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 --languagemodel /mnt/languagetool-volume/languagetool-ngrams --allow-origin '*'
StandardOutput=syslog+console+/var/log/languagetool.log
StandardError=syslog+console+/var/log/languagetool.log
User=www-data
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

端口通过nginx暴露如下:

NGINX

server {
    listen 80;
    server_name my.domain.com;
    root /var/www/my.domain.com/public_html;

    index index.html;

    charset utf-8;

    access_log off;
    error_log  /var/log/nginx/my.domain.com-error.log error;

    location /v2/check {
        proxy_pass http://localhost:8081/v2/check;
    }

}

--languagemodel 选项被忽略。如果我输入不正确,就会看到错误。进程文件中的参数不会抛出任何错误,因此它必须被系统识别。不过,显示的测试 n-gram here 没有 return 任何结果,所以我知道它没有正确加载。

我想知道如何使 --languagemodel 选项与 systemd 一起工作。

首先,大写很重要。 --languageModel 选项只有在以驼峰式大小写形式编写时才能被 systemd 识别。

其次,该错误不是我自己的错,而是由于当前版本的LanguageTool 中的错误导致的。提到了一个修复 here。使用版本 5.0 的快照修复了错误。外部 n-gram 现在用于生成结果。版本 4.9.1 将在未来几天内发布,其中包含对错误的修复。