我有一个基于Spring Boot的应用程序,其结构如下:
|-- src
| |-- main
| |-- java
| |-- api
| |-- core
| |-- resources
|-- public
| |--en
| `pom.xml
当我用maven构建它时,我有一个单独的jar文件和一个包含html文件的公共文件夹。我试着做一个shell脚本,启动一个web服务器,并将其添加到$PATH
#!/bin/bash
java -jar /path-to-jar/myapp.jar $1
但是当我从任何文件夹启动它不是/path-to-jar/
服务器崩溃,因为找不到public
文件夹。
是否有可能使一个脚本,将引用该文件夹在/path-to-jar/
,而不是在当前路径?
既然它为你工作,我把它作为一个答案。最简单的可以是:(cd /your/folder && java -jar /path-to-jar/myapp.jar $1)
它在子shell中运行进程。如果只是bash脚本中的一行,可以省略小括号。我保留大括号的原因是为了避免在您源文件的情况下更改目录,但我相信您只需要一个简单的脚本来完成您的工作。