OpenAPITools / OpenAPITools/openapi-generator-cli
[BUG] JAVA_OPTS is incorrectly evaluated
@kay-schecker arbeitet bereits daran.
Seit 02.6.2026.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2k
- Forks
- 208
- Ø Merge
- 7 Std. 12 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
🐛 Bug Report:
Describe the bug
The content of the environment variable JAVA_OPTS is evaluated. In case it contains a | character, then the next part of it is interpreted as a new command.
I'm in a corporate network that is secured by a proxy. My JAVA_OPTS environment variable defines the settings so that Java can use the proxy:
$ env | grep JAVA_OPTS
JAVA_OPTS=-Dhttp.proxyHost=localhost -Dhttp.proxyPort=9000 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=9000 -Dhttp.nonProxyHosts=127.*|localhost|*.local
$
The http.nonProxyHosts contains the | character as described by Java. The normal Java applications accept this environment variable correctly.
Steps to Reproduce
Steps to reproduce the behavior:
- Go to en empty directory.
- Install the cli:
npm install -g @openapitools/openapi-generator-cli - Call the generator without a
|in theJAVA_OPTS:
JAVA_OPTS="-Dhttp.nonProxyHosts=localhost" openapi-generator-cli help - Call the generator with a
|in theJAVA_OPTS:
JAVA_OPTS="-Dhttp.nonProxyHosts=127.*|localhost" openapi-generator-cli help
Actuall response
The command from point 4. returns the error message:
Error: 'localhost' is not recognized as an internal or external command,
operable program or batch file.
at C:\Users\S230984\AppData\Local\nvm\v22.22.3\node_modules\@openapitools\openapi-generator-cli\main.js:2:51423
at ChildProcess.exithandler (node:child_process:424:5)
at ChildProcess.emit (node:events:519:28)
at maybeClose (node:internal/child_process:1101:16)
at ChildProcess._handle.onexit (node:internal/child_process:304:5)
Node.js v22.22.3
Expected behavior
The command from point 3. returns a correct help response. The command from point 4. should return the same response.
Screenshots
N/A
Operation System (please complete the following information):
- OS: Windows with a git-bash
- Version 11
Package System (please complete the following information):
- Version: Node.js 22
Additional context
I expect that the problem is that the java command with paramaters is evaluated too much. There are somewhere quotes missing. During the evaluation, the | character is then interpreted by the shell as a command pipe end the next part is expected to be a command (which it isn't). Additional quotes inside my environment variable is not needed. The normal shell doesn't automatically evaluate the content as a pipe. The following command (without additional quotes) returns the correct output:
$ echo $JAVA_OPTS
-Dhttp.proxyHost=localhost -Dhttp.proxyPort=9000 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=9000 -Dhttp.nonProxyHosts=127.*|localhost|*.local
$
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.