commons-attributes-compiler.jar: Required extension qdox not found

诸葛利
2023-12-01
报这个错commons-attributes-compiler.jar: Required extension qdox not found怎么办?
我们使用MyEclipse开发基于Spring2.0的web应用时,如果部署应用到Tomcat可能会出现commons-attributes-compiler.jar]: Required extension qdox not found错误。如下:
程序代码
INFO: Deploying web application archive GRCC.war
Sep 14, 2007 13:22:18 AM org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/GRCC][commons-attributes-api.jar]: Required extension "ant" not found.
Sep 14, 2007 13:22:18 AM org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/GRCC][commons-attributes-compiler.jar]: Required extension "ant" not found.
Sep 14, 2007 13:22:18 AM org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/GRCC][commons-attributes-compiler.jar]: Required extension "javadoc" not found.
Sep 14, 2007 13:22:18 AM org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/GRCC]: Failure to find 3 required extension(s).
Sep 14, 2007 13:22:18 AM org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
Sep 14, 2007 13:22:18 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/GRCC startup failed due to previous errors
Sep 14, 2007 13:22:18 AM org.apache.catalina.core.StandardContext stop
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/GRCC] has not been started
原因在于commons-attributes-compiler.jar包的MANIFEST.MF文件出现问题,如果对这个包没有依赖,直接删除这个包的引用,项目就可以正常启动,如果对这个包有依赖,那么可以通过以下两种方式来解决。

1、修改MANIFEST.MF文件
原compiler.jar包中的MF文件结构
程序代码
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3
Created-By: Apache Maven
Built-By: hen
Package: org.apache.commons.attributes
Build-Jdk: 1.4.2_05
Extension-Name: commons-attributes-api
Specification-Title: Client API for Jakarta Commons Attributes.
Specification-Vendor: The Apache Software Foundation
Implementation-Title: org.apache.commons.attributes
Implementation-Vendor: The Apache Software Foundation
Implementation-Version: 2.2
Extension-List: ant qdox
ant-Extension-Name: ant
ant-Implementation-Version: 1.5
ant-Implementation-URL: http://www.ibiblio.org/maven/ant/jars/ant-1.5.
jar
qdox-Extension-Name: qdox
qdox-Implementation-Version: 1.5
qdox-Implementation-URL: http://www.ibiblio.org/maven/qdox/jars/qdox-1
.5.jar
Implementation-Vendor-Id: org.apache
X-Compile-Source-JDK: 1.4
X-Compile-Target-JDK: 1.4
我们可以看到URL后面的地址中含有一些不必要的字符,将MF文件修改如下
程序代码
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3
Created-By: Apache Maven
Built-By: hen
Package: org.apache.commons.attributes
Build-Jdk: 1.4.2_05
Extension-Name: commons-attributes-api
Specification-Title: Client API for Jakarta Commons Attributes.
Specification-Vendor: The Apache Software Foundation
Implementation-Title: org.apache.commons.attributes
Implementation-Vendor: The Apache Software Foundation
Implementation-Version: 2.2
Extension-List: ant qdox
ant-Extension-Name: ant
ant-Implementation-Version: 1.5
ant-Implementation-URL: http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar
qdox-Extension-Name: qdox
qdox-Implementation-Version: 1.5
qdox-Implementation-URL: http://www.ibiblio.org/maven/qdox/jars/qdox-1.5.jar
Implementation-Vendor-Id: org.apache

X-Compile-Source-JDK: 1.4
X-Compile-Target-JDK: 1.4

这个问题就可以解决。

2、替换compiler.jar包
 类似资料: