Java 如何在Tomcat7中部署war文件

Java 如何在Tomcat7中部署war文件,java,tomcat,war,Java,Tomcat,War,我已经将sample.war文件复制到Tomcat的webapps目录中,并且可以访问localhost:8080 现在Tomcat将如何部署它,我的意思是我需要在浏览器中打开它吗?如何访问应用程序?您可以从以下位置访问应用程序:http://localhost:8080/sample 默认情况下,war文件的部署或重新部署是自动的-复制/覆盖文件sample.war后,请检查您的webapps文件夹以获取提取的文件夹示例 如果未正确打开,请检查日志文件,例如tomcat/logs/catali

我已经将sample.war文件复制到Tomcat的webapps目录中,并且可以访问localhost:8080


现在Tomcat将如何部署它,我的意思是我需要在浏览器中打开它吗?如何访问应用程序?

您可以从以下位置访问应用程序:http://localhost:8080/sample

默认情况下,war文件的部署或重新部署是自动的-复制/覆盖文件sample.war后,请检查您的webapps文件夹以获取提取的文件夹示例


如果未正确打开,请检查日志文件,例如tomcat/logs/catalina.out,查看部署问题。

您只需将war文件放入webapps,然后启动服务器即可

它将被部署


否则,您也可以使用tomcat manager a webfront远程上传和部署war

除了前面提到的将war文件直接放入webapps目录的方法外,如果您安装了Tomcat Manager-应用程序,还可以通过浏览器部署war文件。要访问管理器,请浏览到本例中服务器的根目录localhost:8080,选择Tomcat manager此时,您需要知道具有管理器角色的Tomcat用户的用户名和密码,用户在Tomcat安装的conf目录中的Tomcat-users.xml中定义。从开始页面向下滚动,直到看到页面的部署部分,在该部分中,您可以单击浏览选择要从本地计算机部署的WAR文件。选择文件后,单击“部署”。一段时间后,经理应该通知您应用程序已部署,如果一切顺利,则启动

Tomcat 7文档页面中有较长的操作说明和其他说明。

有两种方法:

或者您可以执行热部署热部署意味着在服务器运行/启动时部署。 或者您可以执行冷部署冷部署意味着在服务器停止时部署。 只需使用tomcat manager控制台进行控制台部署,或者只需将应用程序复制并粘贴到服务器tomcat_主目录的webapp文件夹中

注意:如果war文件大小超过默认配置值52MB, 在安装服务器时,您需要对webapp folderManager应用程序的web.xml文件进行两个小更改,默认情况下,Apache tomcat提供了folderManager应用程序

例如,可以转到manager应用程序的web.xml 位于/tomcat7/webapps/manager/WEB-INF/WEB.xml下

增加web.xml文件中的最大文件大小和最大请求大小值:

根据您的要求,通过输入和的值来增加大小


这对我来说很有用:

在本地创建war文件mysite.war。 在本地将其重命名为除.war之外的其他名称,如mysite.www 在tomcat仍在运行的情况下,将mysite.www上传到webapps目录。 上传完成后,删除以前版本的mysite.war 列出目录,监视目录/mysite消失。 将mysite.www重命名为mysite.war 列出目录,查看是否要创建新的/mysite。 如果您尝试将新文件作为war文件上传,而tomcat仍在运行,它将尝试在文件全部存在之前对其进行扩展。它将失败。失败后,它将不再尝试。因此,上传一个www文件,然后重命名它,可以在tomcat注意到它之前显示整个war文件

提示,不要忘记检查war文件的所有者是否是tomcat Use chown

手动步骤-Windows 将.war文件(例如:prj.war)复制到%CATALINA\u HOME%\webapps,例如:C:\tomcat\webapps

运行%CATALINA\u HOME%\bin\startup.bat

您的.war文件将自动提取到一个同名但没有扩展名的文件夹中,例如:prj

转到%CATALINA\u HOME%\conf\server.xml并获取HTTP协议的端口。默认值为8080

访问以下URL:

[://]localhost:/folder/resourceName

例如:localhost:8080/文件夹/资源名

不要尝试在没有resourceName的情况下访问URL,因为如果没有index.html这样的文件,或者web.xml中没有/or/*这样的URL模式,那么它将无法工作

可用的主要路径如下:[:/]localhost:/manager/html,例如:http://localhost:8080/manager/html 他们在跑步专栏上的观点是正确的

使用UI管理器: 转到[://]localhost:/manager/html/通常为localhost:8080/manager/html/

这也可以通过[://]localhost:>Manager应用程序实现

如果您得到:

403拒绝访问

转到%CATALINA\u HOME%\conf\tomcat-users.xml并检查是否已启用以下行:

<user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
在“部署”部分的“要部署的WAR文件”小节中,单击“浏览…”

选择.war文件,例如:prj.war>单击Deploy

在应用程序部分,您可以看到项目的名称,例如:prj。
第一步。我在这里部署pos.war,首先转到tomcat webapps文件夹并粘贴它

台阶- 2.点击startup.bat进入tomcat->bin文件夹启动tomcat

第三步。转到浏览器写入localhost:port/project name例如localhost:8080/pos这里我的tomcat在端口8080上运行

完成


执行以下步骤:

阻止雄猫 右键单击Project,然后单击Clean and Build 转到您的项目目录,在Dist文件夹中,您将得到您在tomcat上复制的war文件 webApp文件夹 启动雄猫 自动提取war文件并运行项目
我遵循以下链接中的说明,它对我有效。

阻止雄猫

删除tomcat/logs中的所有日志和tomcat/conf/Catalina/localhost中的所有文件

从tomact/webapps中删除war文件及其创建的目录(如果有)

启动雄猫

在查看日志的同时,再次将war文件复制到webapps目录


在此之后,请关注catalina.xxxx-xx-xx.log以找出问题所在。

如果您在linux中使用apt get安装了tomcat7,请将应用部署到/var/lib/tomcat7/webapps/

例如

此外,继续跟踪tomcat日志,以便您可以验证您的应用程序是否确实与tomcat和解

tail -f /var/lib/tomcat7/logs/catalina.out

部署的应用程序应显示在http://172.16.35.155:8080/manager/html

1.从应用程序生成war文件 2.打开tomcat管理器,进入页面 3.单击浏览以部署战争。 4.选择您的war文件。
好了

用于在tomcat上部署war文件, 请按照以下步骤操作:

阻止雄猫。powershell->services.msc->OK->ApacheTomcat8.5->停在左侧。 将.war文件放入E:\Tomcat\u Installation\webapps即webapps文件夹即Put.war Put.war只是一个例子 启动Tomcato后,启动TomcatPowerShell->services.msc->OK->ApacheTomcat 8.5->启动 您将在E:\Tomcat\u Installation\webapps**put**


通过这种方式,您可以在ApacheTomcat中部署war文件。

应用程序名称进入Tomcat部署URL的上下文, 如。http://localhost:Port/applicationName. 如果应用程序名称很简单,那么应该是http://localhost:8080/sample

默认情况下,端口是8080,但是如果您想更改它,或者想知道tomcat运行的端口,只需转到/conf/server.xml中的server.xml文件,就可以找到Port&change, 例如


如果出现任何问题,请检查日志文件,例如/logs/catalina.out

Tomcat 7中的管理器角色现在是管理器gui。我被这个问题困扰了。在webapps中删除.war文件对我来说不起作用,而且日志中也没有错误的迹象。从Tomcat经理那里做出来就成功了。一点也不知道为什么第一个方法失败了如果战争被命名为ROOT.WAR呢?我在哪里可以找到WAR?如果我想将sample.WAR部署到localhost:8080/somethingdifferent怎么办?您可以在META-INF/context.xml中指定META-INF/context.xml,它是tomcat\conf\context.xml中的吗?或者它应该在我部署的应用程序中吗?它可以在两个地方。我更喜欢它在应用程序中,但它却不起作用!你想测试我的特定战争文件吗?!请从@Mr.H tail下载linshare-core-1.8.4-without-SSO.war。当您在放置war后启动服务器时,您将发现服务器不工作的原因。如果主机的“自动部署”属性为true,则主机将根据需要尝试动态部署和更新web应用程序,例如,如果新的.war被放入appBase中。要使其工作,主机需要启用后台处理,这是默认配置。这不是一个有效的取消部署/部署过程,因为它会干扰Tomcat专门管理的文件。最好的参考是,虽然这在例外情况下可能有效,但它不是有效的取消部署/部署过程。如果autodeploy=true,那么mysite.www将创建一个新的上下文,并且删除mysite.war会在几种正常情况下删除mysite上下文。最好的参考是。谢谢!此外,我需要为新安装的Tomcat目录结构设置权限,以便提取WAR并生成日志文件。
sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start
tail -f /var/lib/tomcat7/logs/catalina.out