我有这个java文件,它必须使用下面的命令来执行,否则它默认为ipv6,并且对我的用例毫无用处。
-jar Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar我试着遵循这个指南:https://computingforgeeks.com/how-to-run-java-jar-application-with-systemd-on-linux/
然而,使用此方法显示:
root@edowl:~# systemctl status EdOwl-Springboot.service
● EdOwl-Springboot.service - EdowlSpringboot
Loaded: loaded (/etc/systemd/system/EdOwl-Springboot.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2022-02-22 11:28:26 UTC; 10s ago
Main PID: 186854 (code=exited, status=203/EXEC)
Tasks: 0 (limit: 614)
Memory: 0B
CGroup: /system.slice/EdOwl-Springboot.service
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Scheduled restart job, restart counter is at 125919.
Feb 22 11:28:36 edowl.online systemd[1]: Stopped EdowlSpringboot.
Feb 22 11:28:36 edowl.online systemd[1]: Started EdowlSpringboot.
Feb 22 11:28:36 edowl.online systemd[186888]: EdOwl-Springboot.service: Failed to execute command: No such file or directory
Feb 22 11:28:36 edowl.online systemd[186888]: EdOwl-Springboot.service: Failed at step EXEC spawning /bin/java: No such file or directory
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Main process exited, code=exited, status=203/EXEC
Feb 22 11:28:36 edowl.online systemd[1]: EdOwl-Springboot.service: Failed with result 'exit-code'.服务文件如下:
[Unit]
Description=EdowlSpringboot
[Service]
WorkingDirectory=/home
ExecStart=/bin/java -Xms128m -Xmx256m -jar Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
Type=simple
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target该文件位于/home dir中。
我确信这是执行层的起始线在搞砸这件事,是否有必要声明:/bin/java -Xms128m -Xmx256m,还是我在这里搞砸了其他东西?
建议是受欢迎的干杯
发布于 2022-02-22 11:54:57
JVM参数java.net.preferIPv4Stack应该以-D作为前缀,而不是以D作为前缀。
另外,正如其他人在注释中指出的,请检查您的java路径,它可能是/usr/bin/java。
因此,将命令更改为/usr/bin/java -Xms128m -Xmx256m -jar -Djava.net.preferIPv4Stack=true EdOwl-Springboot.jar
https://stackoverflow.com/questions/71220740
复制相似问题