Java Tomcat 7.0.50 启动时属性值部分中的字符“:”无效

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22910257/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 18:53:12  来源:igfitidea点击:

Invalid character ':' in value part of property on Tomcat 7.0.50 startup

javaeclipsemaventomcattomcat7

提问by jvataman

We have started getting a weird exception upon tomcat deployment, which prevents the server from starting. The setup was running for months without issues.

我们开始在 tomcat 部署时收到一个奇怪的异常,这会阻止服务器启动。设置运行了几个月没有问题。

  • Maven Project
  • Eclipse Kepler 4.3.0
  • Tomcat 7.0.50 (as Eclipse plugin)
  • Maven项目
  • Eclipse 开普勒 4.3.0
  • Tomcat 7.0.50(作为 Eclipse 插件)

Has anyone had this exception? Any idea on where to look for the problem?

有没有人有这个例外?关于在哪里寻找问题的任何想法?

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)
    at org.apache.catalina.util.LifecycleMBeanBase.register(LifecycleMBeanBase.java:156)
    at org.apache.catalina.util.LifecycleMBeanBase.initInternal(LifecycleMBeanBase.java:61)
    at org.apache.catalina.core.ContainerBase.initInternal(ContainerBase.java:1084)
    at org.apache.catalina.core.StandardContext.initInternal(StandardContext.java:6462)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

采纳答案by maxsap

You should clean tomccat's directory, probably some dependencies floating aroung,please check this answer

你应该清理 tomccat 的目录,可能有一些依赖浮动,请检查这个答案

回答by Pablo Lozano

It seems a properties file has that character as part of a value. You must escape it. Note that althougt the usual syntax is key=value, key:valueis also valid

似乎属性文件将该字符作为值的一部分。你必须逃避它。请注意,虽然通常的语法是key=value,key:value也是有效的

回答by jvataman

Okay that worked, I had to:

好的,那行得通,我不得不:

  • Run "Add and Remove...", "Clean..." on The server
  • Maven > Update Project (with clean enabled) on the project.
  • 在服务器上运行“添加和删除...”、“清理...”
  • 项目上的 Maven > 更新项目(启用清理)。

enter image description here

enter image description here