我希望从Yeoman JHipster创建一个war文件。我正在运行Ubuntu 14.04并在机器上安装了apache tomcat7。
似乎一切都已建立起来。我使用
创建了一个war文件./gradlew -Pprod clean bootRepackage
项目内部。
它在app / build / libs文件夹中创建了两个名为app_name.war和app_name.war.original的文件。
我将app_name.war.original重命名为ROOT.war并将其丢弃到我的var / lib / tomcat7 / webapps /目录中。
我用ROOT.war替换了ROOT目录
Restared tomcat
sudo service tomcat7 restart
它生成了一个ROOT目录并保存了ROOT.war文件。
我是否删除该文件并保留目录?
去了localhost:8080,我找不到404。它正在与服务器建立连接,否则会出现在某些无法连接的屏幕上。
我是否需要将任何内容映射到此ROOT目录?为什么它在ROOT文件夹中找不到index.html?我会失去理智吗?
答案 0 :(得分:0)
我猜你有某种构建问题。
创建ROOT目录,并将ROOT.war放在后面是正常的。你可以从那时起单独离开ROOT.war。如果替换ROOT.war,那么Tomcat将取消部署您的应用程序,删除现有的ROOT目录,并像以前一样使用新ROOT.war的内容重新创建它,然后从ROOT目录部署ROOT应用程序。 / p>
至于为什么它找不到index.html,我会确保在爆炸的ROOT目录中确实有一个index.html。事实上,我会确保那里的一切看起来都应该如此。否则你需要检查你的构建。
我无法帮助你,因为我不熟悉gradle。但是从你所说的一切来看,Tomcat似乎工作正常,所以问题在于你的war文件。
答案 1 :(得分:0)
您应该按原样使用ROOT.war,并将您的应用程序单独放在/ webapps文件夹中。 ROOT.war有它的目的。如果您希望您的应用程序位于上下文根目录(可在localhost:8080 /上访问)then read,关于如何将war安装到根上下文中。
部署WAR后,可以通过
http://localhost:8080/name_of_war/
我stronlgy建议您启用tomcat admin webapp(阅读如何执行此操作,它非常简单,通常您只需要取消注释用户和角色部分)。然后,通过管理应用程序部署应用程序。