Java Tomcat Manager中的Web应用程序版本

Java Tomcat Manager中的Web应用程序版本,java,tomcat,web-applications,version,Java,Tomcat,Web Applications,Version,如何在Tomcat中配置部署的web应用程序,以便Tomcat Manager在列出所有已安装应用程序的表中显示版本(/Manager/html/list) 目前,它显示所有应用程序(包括自身)的“未指定”。我使用的是Tomcat 7.0.11。该版本是通过manager部署应用程序时指定的版本 见: 标记:指定标记名,这允许将部署的webapp与版本号关联。当需要时,可以仅使用标记重新部署应用程序版本 此外,您还可以通过在###之后添加版本(例如myApp##1.0.war、myApp##1.

如何在Tomcat中配置部署的web应用程序,以便Tomcat Manager在列出所有已安装应用程序的表中显示版本(/Manager/html/list)


目前,它显示所有应用程序(包括自身)的“未指定”。我使用的是Tomcat 7.0.11。

该版本是通过manager部署应用程序时指定的版本

见:

标记:指定标记名,这允许将部署的webapp与版本号关联。当需要时,可以仅使用标记重新部署应用程序版本

此外,您还可以通过在###之后添加版本(例如myApp##1.0.war、myApp##1.1.war)来部署同一war的多个版本。经理将在概览中显示此版本。

  • 在我的例子中,myapp#v0.2.1表示法不起作用
  • 我尝试了tag参数,但不起作用。。(与maven通话)
如前所述,我尝试手动部署war文件,但效果良好

我不明白为什么它不适用于maven tomcat部署

Configuration : Simple Java EE/restlet app with Tomcat 7 / Java 7 / Maven 4 

使用maven设置输出war文件名:

...
<artifactId>MyTest</artifactId>
<version>0.0.1</version>
...
<build>
    <finalName>${project.artifactId}##${project.version}</finalName>
</build>
...
。。。
我的测试
0.0.1
...
${project.artifactId}{project.version}
...
输出->MyTest#0.0.1.war


或者使用格式为file#name#version.war的简单重命名war文件

我正在运行
Tomcat 8.0.30
,要在Tomcat Web应用程序管理器中添加版本,只需将MyApp(在webapps文件夹下)重命名为
MyApp#1.0.2
,而无需创建
.war
文件

如果要创建
.war
文件,请执行以下步骤:

  • 导航到Tomcat webapps文件夹,在地址栏上键入cmd或cmd.exe,或者您可以打开cmd并导航到Tomcat webapps目录

  • 输入此cmd-
    jar cvf MyApp.war。
这里MyApp是应用程序的名称,
.war
是用于创建war文件(也称为Web应用程序存档)和的扩展名。表示将在其中创建war文件的当前目录

完成此操作后,您将看到webapps下的
MyApp.war
文件。现在只需重命名为
MyApp##1.0.2.war
,服务器将自动用name重新加载上下文


就这样

对于maven,使用tomcat插件配置路径:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <path>/${project.artifactId}##${project.version}</path>
                </configuration>
            </plugin>
        </plugins>
        ...
    </build>
    ...
</project>

...
...
org.apache.tomcat.maven
tomcat7 maven插件
2.2
/${project.artifactId}{project.version}
...
...

finalName技巧对我无效。

您想如何指定版本?你用的是哪一个tomcat?我用的是tomcat 7.0.11。那么你指的是###X版本?这不是显示为不同的上下文/应用程序吗?我不知道你所说的###X是什么意思?对不起,我的错,这不是关于版本我尝试了这个,但Tomcat Manager中的版本仍然是“未指定”。哪个?那个###?如果是这样的话,那么我的答案的第一部分就是你想要的。将war文件命名为myapp##002.war。谢谢。请注意,版本号需要两个哈希,如下所示:
myApp##1.1.war
。使用单个散列将把部署路径更改为
myApp/1.1/
,这可能不是您想要的。新文档(Tomcat 7.0.96)没有提到这一点。这是因为需要使用双哈希。myapp###v0.2.1应该可以运行。等等什么?Maven 4?我也想试试!我尝试了双重散列法,它成功了。使用Maven技巧,我成功地用tomcat manager完美地构建和部署了它。我使用了tomcat 8.0.28,在pom.xml中使用了,也使用了##,但它不起作用。我可以看到maven在控制台上打印。但它不会显示在“版本”列中。最后,我们决定在应用程序v1.1标记本身中添加版本号,以便在显示名称列中显示它自己
web.xml
sometext…
这是用于自动部署过程的。你才是真正的MVP。