1个回答

test
2024-07-15
方法一
用 springboot
可以加上 <executable>true</executable>
,这样打出来的包能够直接执行,但是实际上还是产生了两个进程,一个 shell 进程,一个 java 执行的子进程;杀掉 shell 进程一样能够停止。
该方法我没在 windows 测试过。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
方法二
不通过 jvm 执行,而是直接编译成可执行文件。
优点是启动快,性能高,消耗资源低。缺点是构建慢,运行优化有一点不足但是我认为不影响使用。
能够完美的符合你的要求,但是这是一个较新的技术,使用起来可能有未知的风险。
方法三(linux 补充)
使用 alias
,alias javareplace=java
目前除了上面方法外,没有其它方法了。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容