Getting error message "com.opensymphony.user.EntityNotFoundException" when operating on issue

プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。

このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

症状

When operating on issue, for example changing Assignee, Assigning ticket or mention user in the comment, once you save the modification, there is a popup message said : "Exception occurred: java.lang.ClassNotFoundException: com.opensymphony.user.EntityNotFoundException".  And the modification can be display correctly after refreshing the page.

 atlassian-jira.log に次のエラーが返される。

java.lang.NoClassDefFoundError: com/opensymphony/user/EntityNotFoundException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	at java.lang.Class.getDeclaredConstructors(Class.java:1836)
	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getSortedMatchingConstructors(ConstructorInjectionComponentAdapter.java:229)
	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getGreediestSatisifableConstructor(ConstructorInjectionComponentAdapter.java:76)
	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:193)
	at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)
	at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
	at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)
	at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
	at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)
	at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:298)
	at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:113)
	at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:91)
	at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$LegacyJiraTypeResolver.loadObject(DefaultOSWorkflowConfigurator.java:168)
	at com.opensymphony.workflow.TypeResolver.getCondition(TypeResolver.java:73)
	at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$JiraTypeResolverDelegator.getCondition(DefaultOSWorkflowConfigurator.java:115)
	at sun.reflect.GeneratedMethodAccessor420.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareMethodInterceptor.intercept(MultiTenantComponentFactoryImpl.java:230)
	at com.opensymphony.workflow.TypeResolver$$EnhancerByCGLIB$$34dcebff.getCondition(<generated>)
	at com.opensymphony.workflow.AbstractWorkflow.passesCondition(AbstractWorkflow.java:1077)
	at com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1119)
	at com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1143)
	at com.opensymphony.workflow.AbstractWorkflow.getAvailableActionsForStep(AbstractWorkflow.java:723)
	at com.opensymphony.workflow.AbstractWorkflow.getAvailableActions(AbstractWorkflow.java:115)
	at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getAvailableActionIds(IssueWorkflowManagerImpl.java:140)
	at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getAvailableActions(IssueWorkflowManagerImpl.java:41)
	at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getSortedAvailableActions(IssueWorkflowManagerImpl.java:65)
	at com.atlassian.jira.issue.transitions.TransitionLinkFactory.getAvailableActions(TransitionLinkFactory.java:63)
	at com.atlassian.jira.issue.transitions.TransitionLinkFactory.getLinks(TransitionLinkFactory.java:52)
......
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: com.opensymphony.user.EntityNotFoundException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	... 319 more

原因

It could be that there is one transition is using a condition which is still using the old class, which cause this issue as each modification on JIRA issue, the whole page will be reload and the component will be all rend it again.

次のような例があります。 

This issue could probably reproduced when importing an workflow XML file from an older version of JIRA (4.x or earlier).

回避策

  1. Export the workflow to XML file and search the term 'opensymphony' to locate the transition which is currently using the condition. 
  2. Create a draft of the workflow and edit the workflow. 
  3. Delete the condition and recreate the same within a standard way. (in the example, the 'OSUserGroupCondition' should be reproduced by 'User in Group').
  4. Publish the new workflow.
最終更新日: 2025 年 1 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.