Tomcat安装在C:\ tomcat7 \但我想在C:\ myapp \ xyz中部署.war文件。例如,我可能有C:\ myapps \ xyz \ MyApp.war,我应该能够使用路径http://localhost:8080/MyApp来访问它。
我尝试将其附加到c:\ tomcat7 \ conf \ server.xml
的底部 <Host
name="myapp"
appBase="c:\myapps\xyz\"
unpackWARs="true"
autoDeploy="true">
</Host>
</Engine>
</Service>
</Server>
这似乎不起作用,因为我没有在管理控制台中看到MyApp,但我无法点击URL。我还需要做什么?
另外,稍微不相关但是,我怎么能没有将war文件的名称绑定到上下文名称或URL路径?例如,我希望http://localhost/coolName指向C:\ myapps \ xyz \ MyApp.war。
答案 0 :(得分:2)
不幸的是,Tomcat通过文件名加载战争的方式是一个棘手的限制。
我使用稍微不同的&amp;特定于操作系统的方法:“符号链接”。这不是一个直接的答案,但无论如何可能会帮助你。
<强>注意事项:强>
<强>解决方案:强>
从myapps文件夹创建符号链接(如文件系统上的虚拟目录)到webapps文件夹。
Linux的:
ln -s target_name link_name
Vista / Windows 7:
mklink link_name target_name
通过这种方式,您仍然可以使用c:\ tomcat7 \ webapps \,但指定符号链接如下:
mklink c:\tomcat7\webapps\coolName\ c:\myapps\xyz\webapp123\
(注意:对于战争,你需要首先解开战争)
HTH
答案 1 :(得分:0)
您的权利,您想要设置主机条目的appBase参数。以下是前一个问题,讨论了Windows下的内容:Apache Tomcat under Windows: Changing webapps default directory
至于如何更改应用程序名称,请在META-INF目录中添加context.xml:Separating war application name from war file name