NoClassDefFoundError Due to Path Size Limit in Windows on WebSphere
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
The content on this page relates to platforms which are not supported. Consequently, Atlassian Support cannot guarantee providing any support for it. Please be aware that this material is provided for your information only and using it is done so at your own risk.
Symptoms
Wnstall Confluence on Websphere in Windows, the following appears in the atlassian-confluence.log
:
1
2
3
java.lang.NoClassDefFoundError: com/atlassian/confluence/user/actions/UserPickerAction$UsernameToUserTranslatingPaginationSupport
at java.lang.Class.getDeclaredConstructors0(Native Method)
Cause
Most Windows OS have a file path limit of 255 characters. When an application is deployed with a long name, it is possible the deployed application files will reach this path limit. Currently, there is no check performed and the error messages when trying to create such long files are not very descriptive.
Example of installing Confluence on Windows XP Professional '02 sp 2.
and Websphere App Server v 6.0
produced by default this deployed location:
1
2
C:\Program Files\IBM\WebSphere\AppServer/profiles/default\wstemp\92668751\workspace\cells\bluetongueNode01Cell\applications\atlassian-confluence-2_2_8_war.ear\atlassian-confluence-2_2_8_war.ear
To get to the class structure of Confluence that needs to be used:
1
2
atlassian-confluence-2_2_8.war\WEB-INF\classes\com\atlassian\confluence\user\actions\UserPickerAction$UsernameToUserTranslatingPaginationSupport
Hence the length to that particular class:
1
2
3
4
5
6
7
$ perl -e 'print length "C:\Program Files\IBM\WebSphere\AppServer/profiles/defa
ult\wstemp\92668751\workspace\cells\bluetongueNode01Cell\applications\atlassian
-confluence-2_2_8_war.ear\atlassian-confluence-2_2_8_war\atlassian-confluence-2
_2_8.war\WEB-INF\classes\com\atlassian\confluence\user\actions\UserPickerAction
$UsernameToUserTranslatingPaginationSupport"';
264
Resolution
Make sure Websphere is installed to the root of the C:\ (or other) drive.
Was this helpful?