Java 在bash中将.war文件部署到tomcat

Java 在bash中将.war文件部署到tomcat,java,bash,maven,tomcat,Java,Bash,Maven,Tomcat,我需要将person-search-service.war文件部署到tomcat(9.0.38)服务器。以前,该项目在eclipse中导出为.war,并以这种方式添加到服务器。问题是,这需要部署到一台无头机器上,因此显然不能像开发中那样完成。最后,我只需要能够编写一个脚本来自动部署webapp。我一直在尝试的是创建.war文件,然后将其移动到$CATALINA_HOME/webapps目录,并使用$CATALINA_HOME/bin/startup.sh脚本启动tomcat。更简单地说,从项目所

我需要将person-search-service.war文件部署到tomcat(9.0.38)服务器。以前,该项目在eclipse中导出为.war,并以这种方式添加到服务器。问题是,这需要部署到一台无头机器上,因此显然不能像开发中那样完成。最后,我只需要能够编写一个脚本来自动部署webapp。我一直在尝试的是创建.war文件,然后将其移动到$CATALINA_HOME/webapps目录,并使用$CATALINA_HOME/bin/startup.sh脚本启动tomcat。更简单地说,从项目所在的目录,我正在运行:

jar -cvf person-search-service.war person-search-service/
mv person-search-service.war $CATALINA_HOME/webapps
$CATALINA_HOME/bin/startup.sh
然后导航到配置的路径localhost:8080/person-search-service/person将生成apache404页面。正如我所说,这在eclipse中非常有效,我只需要在终端中专门复制该行为

我使用的JDK是采用OpenJDK(版本8)。同样值得一提的是,这个项目使用了maven(3.6.3),尽管我不确定这是否会/如何影响任何事情,尽管我怀疑主要问题可能是项目如何导出,或者与类路径有关

编辑

最新的catalina.out日志包括:

15-Oct-2020 17:12:09.857 INFO [main] org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance Name = h2 Ignoring unknown property: value of "Datasource to person database" for "description" property
15-Oct-2020 17:12:10.059 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/mnt/c/dev/tools/apache-tomcat-9.0.38-windows-x64/apache-tomcat-9.0.38/webapps/person-search-service.war]
15-Oct-2020 17:12:10.772 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/mnt/c/dev/tools/apache-tomcat-9.0.38-windows-x64/apache-tomcat-9.0.38/webapps/person-search-service.war] has finished in [712] ms

关于h2的部分可能会被忽略,在我添加它之前它不起作用。

Tomcat正在运行吗?
source
命令不会执行您想要的操作。只需运行
$CATALINA_HOME/bin/startup.sh
,它就会启动。如果你得到的是Tomcat404页面,看起来就是这样。接下来,查看
$CATALINA_HOME/logs/CATALINA.out
中是否有任何错误消息。发布这些消息,看看我们是否可以提供帮助。我将命令更改为startup.sh,但没有效果。我已编辑该问题以包含服务器日志