申明:
本系列ITIL 4中文版本由长河领导的ITIL先锋论坛专家委员会组织翻译,国内众多从事ITIL理论推广及落地实践的专家们参与。需要下载最新翻译版本请关注微信公众号:ITILXF,并回复“ITIL 4架构管理”即可。
请注意,ITIL先锋论坛专家团队仅仅只是进行了这些著作的语种转换工作,我们并不拥有包括原著以及中文发行文件的任何版权,所有版权均为Axoles持有,读者在使用这些文件(含本中文翻译版本)时需完全遵守Axoles 和 TSO所申明的所有版权要求。
本文档翻译工作参与人员:
翻译:张志华
审校:魏钧军
总审:长河
审核:戚依军
统筹:常宏
ContentsInvalid macro parameters used for the "toc" macro. Cause: [/usr/local/tomcat/webapps/ROOT/WEB-INF/lib/solr-core-8.1.1.jar]. Click on this message for details.
javax.validation.ValidationException: HV000041: Call to TraversableResolver.isReachable() threw an exception.
at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1257)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:459)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:406)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:370)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:152)
at org.xwiki.properties.internal.DefaultBeanManager.validateBean(DefaultBeanManager.java:209)
at org.xwiki.properties.internal.DefaultBeanManager.populate(DefaultBeanManager.java:120)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:287)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:101)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:348)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:221)
at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:107)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:270)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:67)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:43)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:123)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1210)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1351)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1300)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1267)
at com.xpn.xwiki.api.Document.displayDocument(Document.java:783)
at jdk.internal.reflect.GeneratedMethodAccessor565.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.xwiki.velocity.introspection.TryCatchDirective.render(TryCatchDirective.java:87)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:259)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2468)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:992)
at jdk.internal.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:259)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2468)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:992)
at jdk.internal.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:259)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2468)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:992)
at jdk.internal.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:259)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:179)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:516)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:218)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:112)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.getArchiveEntry(AbstractSingleArchiveResourceSet.java:100)
at org.apache.catalina.webresources.AbstractArchiveResourceSet.getResource(AbstractArchiveResourceSet.java:257)
at org.apache.catalina.webresources.StandardRoot.getResourcesInternal(StandardRoot.java:327)
at org.apache.catalina.webresources.CachedResource.validateResources(CachedResource.java:158)
at org.apache.catalina.webresources.Cache.getResources(Cache.java:129)
at org.apache.catalina.webresources.StandardRoot.getResources(StandardRoot.java:315)
at org.apache.catalina.webresources.StandardRoot.getClassLoaderResources(StandardRoot.java:231)
at org.apache.catalina.loader.WebappClassLoaderBase.findResources(WebappClassLoaderBase.java:983)
at org.apache.catalina.loader.WebappClassLoaderBase.getResources(WebappClassLoaderBase.java:1078)
at java.base/java.lang.ClassLoader.getResources(ClassLoader.java:1463)
at java.base/java.lang.ClassLoader.getResources(ClassLoader.java:1463)
at org.xwiki.classloader.xwiki.internal.ContextNamespaceURLClassLoader.getResources(ContextNamespaceURLClassLoader.java:122)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1195)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
at javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:109)
at javax.persistence.Persistence$PersistenceUtilImpl.isLoaded(Persistence.java:141)
at org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:57)
at org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:137)
at org.hibernate.validator.internal.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46)
at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1248)
... 223 more
Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:236)
at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:182)
at org.apache.catalina.webresources.AbstractArchiveResourceSet.openJarFile(AbstractArchiveResourceSet.java:308)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.getArchiveEntry(AbstractSingleArchiveResourceSet.java:96)
... 245 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.GeneratedConstructorAccessor7.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:233)
... 248 more
Caused by: java.nio.file.NoSuchFileException: /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/solr-core-8.1.1.jar
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:149)
at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
at java.base/java.nio.file.Files.readAttributes(Files.java:1763)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1225)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
... 252 more
1 关于本文件
本文档为架构管理实践提供了实用指南。它分为五个主要部分,内容包括:
- 实践的一般信息
- 实践中涉及的组织和人员
- 支持实践的信息和技术
- 有关实践的合作伙伴和供应商注意事项。
1.1 ITIL®4鉴证方案
本文档中的选定内容可作为以下教学大纲的部分考试范围:
有关详细信息,请参阅相应的教学大纲文档。
2 一般信息
2.1目的与描述
全面的架构管理实践适用于所有级别的组织架构。主要包括:
- 业务架构
- 产品和服务架构
- 信息系统架构,包括数据和应用程序架构
- 技术架构
- 环境架构。
实践的范围由组织的定位、愿景和战略定义。例如,内部IT服务提供商的架构管理实践可能专注于其产品、服务、信息系统和技术的架构。在其他情况下,如果第三方为组织提供基础架构和平台,则其范围可能不包含较低级别的技术架构。这也可能会反映在IT系统架构中。但是,我们应该在组织的所有级别,以及架构的所有级别上始终如一的开发架构管理实践。
架构管理实践应该描述组织的服务价值系统和所有服务管理四维模型的资源,它们是:
- 组织和人员
- 信息和技术
- 流程和价值流
- 供应商和合作伙伴。
图2.1中对此进行了说明。

图2.1 架构级别和服务管理四维模型
架构管理实践可以确保:
- 理解组织的当前架构,并映射到组织的战略
- 识别并商定目标组织的架构
- 不断优化组织的架构,以实现其目标架构。
为了实现这些目标,架构师分析组织并描述当前架构。并评估其当前架构,旨在识别当前或未来可能阻碍组织战略实现的可优化之处。定义目标架构用以解决这些阻碍。架构管理实践允许组织从其当前的架构演变为所需的架构;它还允许随着组织的策略和环境变化,在过程中修正。
2.2 术语和概念
架构管理实践包含几种类型或级别的架构。下面将进一步详细描述。
2.2.1 业务架构
定义:业务架构
组织如何使用资源实现其战略和目标的正式描述。
业务架构探索组织如何使用资源在组织内与其利益相关者共创价值。组织使用资源来创建产品,并基于这些产品提供和交付服务。
2.2.2 产品和服务架构
定义:产品和服务架构
对组织的产品和服务、组件及其相互关系、管理设计及其随时间演变的原则和指南的正式描述。
产品和服务架构提供了组织的产品和服务的全景图。它还探讨了服务和描述结构的模型之间的交互,例如组件如何装配在一起,例如活动和资源流的动态,以及每个产品和服务的交互。这些模型可以作为多种产品和服务的模板。和支持信息技术、运营技术和通信技术一样,数字化产品和服务基于应用和数据。
2.2.3 信息系统架构
定义:信息系统架构
对组织的应用、数据资产和数据管理资源的正式描述。信息系统架构展示了应用和数据如何互连和管理,以使组织受益。
信息系统由基础设施和平台支撑,整合了信息、运营和通信技术。这些在技术架构中有正式描述。
2.2.4 技术架构
定义:技术架构
对组织的技术基础设施的正式描述,包括信息、运营和通信技术,它们的相互关系以及对组织信息系统的支持方式。
2.2.5 环境架构
定义:环境架构
影响组织和驱动变更的外部因素,以及环境控制和管理的所有方面、类型和级别的正式描述。
组织可能会发现保留其运作环境的说明大有裨益,可以确保其产品和服务适应环境,并且不与外部约束相冲突。
环境架构包括:开发、技术、业务、运营、组织、政治、经济、法律、法规、生态和社会影响。它可以帮助组织了解和管理其在所处的生态系统中的定位。
架构管理实践包括范围的定义和架构的结构,该实践基于组织的战略和定位。
2.3 范围
架构管理实践的范围包括:
- 了解和描述组织的当前架构
- 定义组织的目标架构,并与相关利益相关者达成一致
- 持续优化组织,以满足目标架构
- 持续监督进行中的变更,以确保与商定的目标架构保持一致。
若干活动和职责领域尽管与架构实践密切相关,但不在架构管理实践的范围内。表2.1中列出了这些内容,以及可以找到它们的实践的引用。重要的是要记住,ITIL实践只是用于价值流上下文中的工具集合,应视情况按需组合。
表2.1其他实践指南中描述的架构管理实践的相关活动
活动 | 实践指南 |
解决方案设计(产品、服务、信息系统和技术) | 服务设计 |
架构实施路线图 | |
架构选型的投资决策和授权 | 投资组合管理 |
组织方向和目标的定义 | 战略管理 |
配置项目和资产的详细映射 | |
2.4 实践成功因素
定义:实践成功因素
实践的复杂功能组件,用于实现实践目的。
实践成功因素(PSF)不仅仅是一项任务或活动,它还包括所有服务管理四维模型的组件。活动的特性和实践成功因素PSF的资源可能有所不同,但它们共同确保实践有效。
架构管理实践包含以下实践成功因素PSF:
- 确保目标架构支持组织的战略
- 确保组织的架构不断朝目标状态演进
2.4.1 确保目标架构支持组织的战略
组织的架构应该进行优化,以实现并支持其战略。这需要目标架构模型。
为了制定有效且现实的目标架构,架构师需要了解以下内容:
- 组织的战略及其当前的绩效
- 组织的当前架构、优势和约束
- 主要痛点及其在架构的映射
- 组织的产品组合和持续发展
- 环境因素和趋势
- 技术趋势、风险和机会
- 其他相关趋势和因素。
通过分析这些方面,您可以从架构的角度了解组织的当前状态和期望状态,并基于此开发当前和目标的架构模型。根据组织的战略,架构的有效性可以表现为以下特性:
- 可扩展性
- 成本效益
- 与其他组织的兼容性
- 符合法规的合规性
- 敏捷
- 可持续性
- 安全。
这不是一个最完整的清单。我们也可以创建其他目标来确保架构有效性。
由于组织的战略可能会不断演进,因此架构建模不应该是孤立的工作。当前的架构模型应随着组件变化而调整,并应根据战略的变化来审查目标架构模型。这些更新将启动架构路线图的评审(请参见2.4.2)
架构分析和目标架构规划与其他实践紧密结合进行(有关这些实践的列表,请参见2.3)。重要的是要确保架构模型正确、现实,并且与利益相关者共享对当前和目标架构的理解。现实的架构计划基于对当前架构的充分理解,包括被内部和外部利益相关者采用的遗留系统、约束、重要的业务功能和行为模式。考虑其他要求和约束,例如预算,法规等。最后,对技术前景(包括新兴技术和行业趋势)的充分了解非常重要。
除了描述目标架构之外,路线图还应包括以下方面的建议和要求:分类法、标准、指南、流程、模板和工具,并用于具有重要架构意义的举措(例如生产和服务设计、变更和项目等)。这包括将推荐的架构控件集成到相关实践和价值流中,以确保组织的活动与商定的发展方向一致。
2.4.2 确保组织的架构不断朝目标状态演进
创建架构路线图可以确保组织朝目标架构演进。路线图是旨在从当前架构更改到目标架构的一系列设计计划。在适当情况下,可以将这些计划作为项目集或项目进行管理。实现架构变更涉及多个利益相关者和实践,视变更的性质而定。架构管理实践确保所实施的变更遵循商定的路线图,并支持组织向其目标架构演进。
关键信息
从当前的架构到目标架构的转换几乎不是一场革命。相反,它是由组织同意遵循的一组架构原理、标准和准则促成的演进。一些旧解决方案可能会与新解决方案共存很长时间。从当前架构到目标架构的变更始终取决于投资组合决策和谨慎的优先级。架构管理实践用于定义目标架构,并保持一致的架构演进方向和步伐。
架构管理实践活动的另一个重要方面是,它通过遵循推荐的架构分类法、标准、指南、流程、模板和工具,确保其对组织的资源、产品和服务所做的变更支持架构的演进。它们也不应与架构的要求和原理相抵触。这意味着架构管理实践涉及每个服务价值流,其中包括引入新组件、新的第三方服务或其他影响架构的变更。
2.5 关键指标
ITIL 实践的有效性和绩效应在每个实践所贡献的价值流背景内进行评估。与任何工具的性能或绩效一样,实践的绩效只能在应用程序的背景下评估。但是,工具在设计和质量上可能会有很大差异,这些差异决定了工具在根据其用途使用时有效的潜力或能力。与指标、关键绩效指标(KPI)和其他相关技术的进一步指导,请参见测量和报告实践指南。
架构管理实践的关键指标已映射到其实践成功因素PSF。在价值流中,它们可以作为KPI,以评估实践对价值流有效性和效率的贡献。表2.2中给出了一些关键指标的示例。
表2.2 实践成功因素的关键指标示例
实践成功因素 | 关键指标 |
确保目标架构支持组织的战略 | 对目标架构的商定要求的实施情况 限制组织战略实现的架构约束的数量和影响 架构不支持的战略决策的数量和影响 基于内部和独立评估,目标架构的完整性和质量 战略更新和目标架构对齐之间的延迟时间和影响 |
确保组织的架构不断朝目标状态演进 | 未遵循商定的目标架构实施的变更数量和影响 尚未评估是否符合商定的架构的重大更改的数量和影响 架构路线图的实施进度 |
3.价值流和流程
3.1价值流的贡献
与任何其他ITIL 管理实践一样,架构管理实践有助于多个价值流。重要的是要记住,价值流永远不会由单个实践构成。架构管理实践与其他实践相结合,可以为消费者提供高质量服务。该实践促成的主要价值链活动包括:
图3.1中显示了架构管理实践对服务价值链的贡献。

图3.1:架构管理实践对服务价值链活动的贡献热图
3.2 流程
每个实践可能包含一个或多个流程和活动,它们对于实现该实践的目的可能是必需的。
架构管理活动构成三个流程:
3.2.1 架构治理
该流程包括表3.1中列出的活动,并将输入转换为输出。
表3.1 架构治理流程的输入、活动和输出
关键输入 | 活动 | 关键输出 |
组织的原则、政策和愿景 组织战略 环境因素 组织结构 产品和服务组合 项目集和项目组合 客户组合 架构评审报告 审计报告 | | |
图3.2显示了流程的工作流程图。

图3.2 架构治理流程的工作流程
表3.2 提供了架构治理流程的每个活动的高级描述示例。
表3.2 架构治理流程的活动

3.2.2 开发目标架构和路线图
该流程包括表3.3中列出的活动,并将输入转换为输出。
表3.3开发目标架构和路线图流程的输入、活动和输出

图3.3展示了开发目标架构和路线图流的工作流程。

图3.3 开发目标架构和路线图流的工作流程
表3.4提供了开发目标架构的的每个活动和路线图流程的高级描述示例。
表3.4 开发目标架构的活动和路线图流程


3.2.3 持续架构控制
该流程侧重实施架构路线图和维护商定的架构。它包括表3.5所示的活动,并将输入转换为输出。
表3.5持续的架构控制流程的输入、活动和输出

图3.4显示了持续架构控制流程的工作流。

图3.4持续的架构控制流程的工作流
表3.6提供了持续的架构控制流程的每个活动的高级描述示例。
表3.6持续的架构控制流程的活动

4. 组织和人员
4.1 角色、能力和责任
实践指南没有描述实践管理角色,例如实践负责人、实践主管或实践教练,相反,专注于每个实践特有的专业角色。每个角色的结构和命名都可能因组织而异,因此,ITIL中定义的任何角色都不是强制性的,甚至不推荐使用。请记住,角色不是职务。一个人可以担任多个角色,一个角色可以分配给多个人。
角色在流程和活动的上下文中有所描述。每个角色均具有基于以下模型的能力简介,如表4.1中所示。
表4.1 能力代码和简介
能力代码 | 能力简介(活动和技能) |
L | 领导者,决策、授权、监督其他活动,提供激励和动机以及评估结果 |
A | 管理员,分配任务并确定优先级,保留记录,持续报告,并启动基本改进 |
C | 协调员/沟通者,协调多方,保持利益相关者之间的沟通,以及开展认知活动 |
M | 方法和技术专家,设计和实施工作技术、记录流程、咨询流程、分析工作和持续改进 |
T | 技术专家,提供技术(IT)专业知识,并执行基于专业知识的任务 |
表4.2 负责架构管理活动的角色示例




4.1.1 架构师
架构师是特定实践的关键角色。该角色可以是专职的,例如业务(或企业)架构师、IT架构师或解决方案架构师,具体取决于实践范围。
架构师的角色是架构管理实践的关键。如上表4.2中所述,大多数实践活动由架构师执行或管理。
架构师的主要能力包括:
- 了解本组织和服务的客户组织的业务策略、业务模型和运营模式
- 了解组织运营的环境
- 具备组织使用的技术知识以及组织可用的开发技术知识
- 具备组织产品组合的知识:资源、产品和服务、客户
- 了解组织的价值流和实践
- 架构管理框架(例如Zachman框架TM,TOGAF®)的专业知识
- 相关解决方案架构框架(例如AWS,SOA,EMC等)的专业知识。
架构师的能力简介是TMCAL。架构师是组织的资源和架构管理方法的专家。但是,其沟通和领导技能也很重要。
组织中的架构师职责可能会有所不同,具体取决于实践的范围。业务(企业)架构师致力于组织的战略性规划和业务开发,而解决方案架构师则专注于特定产品或系统的架构。
找到专门的职位来担任架构师角色的情况并不少见。但是,在较小的组织中,解决方案架构师角色有时由产品负责人担任,而业务架构师角色由执行领导者履行,通常是临时担任的。
4.2 组织结构和团队
当组织开发架构管理实践时,许多人发现组建专门的团队很有用,旨在驱动架构相关计划并确持续构控制。该团队通常被称为架构委员会,由来自组织的不同级别和部门的代表组成。除架构师外,该委员会通常还包括业务职能领导、产品负责人、服务设计师、风险经理、产品组合经理、人力资源经理和财务经理。
架构委员会(有时被称为架构董事会)通常向执行领导团队报告。委员会的决策影响组织的所有领域。
因此,确保委员会拥有足够的权力非常重要。
5. 信息和技术
5.1 信息沟通
架构管理实践的效果取决于所使用信息的质量。这包括但不限于以下信息:
- 组织的战略
- 组织的环境、主要利益相关者
- 组织的产品组合:资源、产品和服务、客户
- 服务配置和IT资产信息
- 变更排期
- 项目集和项目组合
- 持续改进登记册
- 组织架构
- 技术趋势。
该信息可以采用各种形式。在第3节中列出了实践的关键输入和输出。
5.2 自动化和工具
架构管理实践的自动化侧重于加强信息交流的三个主要领域:
- 办公自动化工具:文档、电子表格和演示文稿工具
- 分析和建模工具,例如:计算机辅助设计、图表和数据建模工具
- 通信工具,例如:工作流、任务管理和全渠道通信系统。
表5.1列出了每一个与架构管理实践相关的特定自动化方法。
表5.1架构管理活动的自动化解决方案



6. 合作伙伴和供应商
组织的架构应该支持其战略,并确保组织的所有组件有效地为其成功助力。架构不限于组织自己的资源。它包括组织的服务组合及其与其服务使用者的交互方式。但是,不应低估第三方服务。
在业务架构级别上,重要的趋势包括多源、服务集成和管理(或换而言之:非中间媒介)。在技术架构级别上,数字化和由此产生的第三方云服务是影响架构的主要趋势。
业务和技术趋势都影响产品和服务架构。这应该在组织架构中反映,并在计划目标架构和路线图时加以考虑。为了解决此问题,架构管理实践应该与其他实践紧密结合,包括:产品组合管理、供应商管理、组织变革管理、风险管理、基础设施和平台管理,当然还有战略管理。
7. 重要提醒
组织在建立和培养自己的实践时,应该把实践指南的大部分内容作为可以考虑的领域建议。实践指南是组织可以考虑的事情的目录,而不是答案的列表。使用ITIL 实践指南的内容时,组织应始终遵循ITIL 指导原则:
- 聚焦价值
- 从你所处的地方开始
- 基于反馈迭代推进
- 协作和提升可视化程度
- 通盘思考和工作
- 保持简单实用
- 优化和自动化。
有关指导原则及其应用程序的更多信息,请参见以下内容的第4.3节。
ITIL®Foundation:ITIL 4版出版物。
8. 致谢
AXELOS公司由衷感谢为本指南的开发做出贡献的全体人员。这些实践指南融合了ITIL社区前所未有的热情和反馈。AXELOS特别要感谢以下人员。
8.1 作者
帕维尔·德明(Pavel Demin),罗马·朱拉夫列夫(Jouravlev)
8.2 审稿人
黛娜拉·阿迪尔巴耶娃(Dinara Adyrbayeva),安东·利科夫(Anton Lykov),伊琳娜·马坦察娃(Jouravlev)