通过 tomcat7-maven-plugin 部署不断添加“/deploy?path”到目标路径

问题描述

我正在尝试使用 /app-test 表示法将我的应用程序的新版本部署到路径 ##

我已将 warFileName 中的 pom.xml 设置为 app-test##2021-01-21-pkix-fix,然后调用

mvn clean tomcat7:deploy

它成功生成并构建了一个 .war

...
[INFO] Generating war /xyz/target/app-test##2021-01-21-pkix-fix.war
[INFO] Building war: /xyz/target/app-test##2021-01-21-pkix-fix.war

当它继续上传资源时,它会尝试多次同时第二次添加 /deploy?path。第三次尝试更没有意义:

[INFO] deploying war to http://mydomain.eu/app-test##2021-01-21-pkix-fix
  
Uploading: http://mydomain.eu/manager/text/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix
Uploaded: http://mydomain.eu/manager/text/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix 

Uploading: https://mydomain.eu/manager/text/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix
Uploaded: https://mydomain.eu/manager/text/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix

Uploading: https://mydomain.eu/manager/text/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix
Uploaded: https://mydomain.eu/manager/text/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix/deploy?path=%2Fapp-test%23%232021-01-21-pkix-fix

部署失败:

FAIL - Failed to deploy application at context path /app-test##2021-01-21-pkix-fix/deploy?path=/app-test##2021-01-21-pkix-fix

因为路径不能包含=错误日志确认的catalina-daemon.out字符

...
javax.management.MalformedobjectNameException: Invalid character '=' in value part of property
    at javax.management.ObjectName.construct(ObjectName.java:618)
    at javax.management.ObjectName.<init>(ObjectName.java:1382)
...

这是我浓缩的 pom.xml

我怀疑这与我最近通过自制软件进行的 mvn 升级有关。这是我当前的版本:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 1.8.0_112,vendor: Oracle Corporation,runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre
Default locale: en_US,platform encoding: UTF-8
OS name: "mac os x",version: "10.16",arch: "x86_64",family: "mac"

为什么 tomcat 不断在我的部署中添加 /deploy?path


随着我的进一步调查,它很可能与 tomcat7-maven-plugin 有关,但 the docs 并没有真正澄清任何事情。

解决方法

当所有其他方法都失败时,始终可以选择手动部署 .war

先打包程序:

mvn clean package [-P profile_name]

然后在.war中找到/target

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...