我有一个项目,生成jar
让我们称之为projectA.jar
。当该项目运行时,它能够连接所有依赖项
我们正在创建一个新项目(包装器),它对projectA.jar
作为第一步,我们尝试调用与projectA
调用相同的类。当我这样做时,我将错误视为
05 Jun 2015 18:32:44,430 [DEBUG] [EnterpriseConnector-akka.actor.default-调度-5] org.springframework.beans.factory.xml.BeanDefinitionParserDelegate |没有 XML' id'指定 - 使用' RESTcloudRegistryLoader'作为豆名和 [] as aliases 05 Jun 2015 18:32:44,430 [DEBUG] [EnterpriseConnector-akka.actor.default-调度-5] org.springframework.beans.factory.xml.BeanDefinitionParserDelegate |没有 XML' id'指定 - 使用' remoteResourceManager'作为bean名称和[] 作为别名05 Jun 2015 18:32:44,449 [DEBUG] [EnterpriseConnector-akka.actor.default-调度-5] org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver | 加载的NamespaceHandler映射: {http://www.springframework.org/schema/p=org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler,http://www.springframework.org/schema/c=org.springframework.beans.factory.xml.SimpleConstructorNamespaceHandler, http://www.springframework.org/schema/util=org.springframework.beans.factory.xml.UtilNamespaceHandler}
2015年6月5日18:32:44,450 [INFO] [EnterpriseConnector-akka.actor.default-调度-5] com.shn.logs.common.OSUtils |当前进程ID 22924运行 系统:Mac OS X 10.10.3 [错误] [06/05/2015 18:32:44.450] [EnterpriseConnector-akka.actor.default-调度-5] [阿卡:// EnterpriseConnector /用户/ logProcessorSupervisor /的LogProcessor] 配置问题:无法找到Spring NamespaceHandler XML模式命名空间[http://www.springframework.org/schema/task] 违规资源:类路径资源[context.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70) at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:316) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1424) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:174) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) at com.shn.logs.controller.LogReaderDisruptor.createAppContext(LogReaderDisruptor.java:148)
我查看了Loaded Schema mapping
正在加载的内容,并意识到未加载infact http://www.springframework.org/schema/task
。
然而,在我的context.xml
中,我看到了
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans org/springframework/schema/spring-beans-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
http://www.springframework.org/schema/context org/springframework/schema/spring-context-3.2.xsd
http://www.springframework.org/schema/jdbc org/springframework/schema/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/task org/springframework/schema/spring-task-3.2.xsd
/springframework/schema/spring-cache.xsd"
default-lazy-init="false" default-autowire="no"
default-dependency-check="none">
另外,如果加载了spring-task
并且我在那里看到了
jar -tvf main-1.0-SNAPSHOT-jar-with-dependencies.jar | grep spring-task
12199 Mon Jun 01 13:41:22 PDT 2015 org/springframework/schema/spring-task-3.2.xsd
10764 Fri Feb 20 02:46:26 PST 2015 org/springframework/scheduling/config/spring-task-3.0.xsd
12825 Fri Feb 20 02:46:26 PST 2015 org/springframework/scheduling/config/spring-task-4.1.xsd
541 Fri Feb 20 02:46:26 PST 2015 org/springframework/scheduling/config/spring-task.gif
11991 Fri Feb 20 02:46:26 PST 2015 org/springframework/scheduling/config/spring-task-3.1.xsd
12286 Fri Feb 20 02:46:26 PST 2015 org/springframework/scheduling/config/spring-task-4.0.xsd
12286 Fri Feb 20 02:46:26 PST 2015 org/springframework/scheduling/config/spring-task-3.2.xsd
我认为maven-shade-plugin
可能会出现here所述问题,但我的插件已包含它们
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<finalName>original-${project.artifactId}</finalName>
<!-- <shadedClassifierName></shadedClassifierName> -->
<filters>
<filter>
<artifact>org.apache.tomcat.embed:*</artifact>
<excludes>
<exclude>**/JSSESocketFactory*</exclude>
<exclude>**/AbstractEndpoint*</exclude>
</excludes>
</filter>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>log4j.xml</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.shn.logs.controller.MainClass
</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
我错过了什么?