Java 11 と Jira プラットフォームのアップグレード

Java 11 アップグレードに関連する変更および Jira プラットフォーム アップグレードの詳細については、次のガイドを参照してください。 

Jira 8.0.0 の maven 依存関係の完全な一覧は、jira-project pom で確認できます。

Java 11 およびプラットフォームの変更点

変更

詳細

Migrated to the newest Atlassian Fugue

  • Jira API was updated to use the newest io.atlassian.fugue library

  • the old com.atlassian.fugue library is now deprecated and should not be used

Migrated to the newest Atlassian Concurrent

  • Jira API was updated to use the newest io.atlassian.util.concurrent library

  • the old com.atlassian.util.concurrent library is now deprecated and should not be used

Spring 5 への移行

  • Jira は現在、Spring フレームワーク 5.0.10 上で実行されています

Guava 26 への移行

  • Jira は現在、Guava 26.0-jre 上で実行されています

Updated all the platform components for Java 11 and Atlassian Platform 5.0.0 compatibility

  • amps → 8.0.0-m6

  • atlassian-cache → 4.0.0

  • atlassian-authentication-plugin → 3.0.0-a22dd6d

  • atlassian-oauth → 4.0.2

  • altassian-embedded-crowd → 2.10.5-j11

  • upm-server → 4.0.0-rc1

Updated third-party libraries for Java 11 and Atlassian Platform 5.0.0 compatibility


  • Guava → 26.0-jre

  • Spring framework → 5.0.10.RELEASE

  • servlet-api → 3.0.1

  • jaxb → 2.3.0

  • commons-lang3 → 3.8

  • commons-io → 2.6

  • commons-fileupload → 1.3.3

  • javax.activation → 1.2.0

  • validation-api → 2.0.1.Final

  • httpclient → 4.5.5

  • httpcomponents → 4.4.9

  • slf4j → 1.7.25

  • log4j → 1.2.17-atlassian-2

ロケール互換性のための JVM パラメータ

-Djava.locale.providers=COMPAT  を指定してロケール互換性モードを有効化済み

詳細

Java 9 以降、 JRE ロケール データからの切り替えが行われ、Unicode Consortium の共通ロケール データ リポジトリ (CLDR) のロケール データを既定で使用するようになりました (ドキュメント参照)この影響を受ける例として、en_AU ロケールで月の短縮名の書式の末尾にドットが使用されるようになりました。例:

  • Java 8:  19/Jul/18

  • Java >=9:  19/Jul./18

書式設定のその他の面にも影響があります ("AM" -> "am" など)。日付の解析も変更の影響を受けます。

このため、Jira の動作が変わり、一部のテストに失敗するようになりました。

-Djava.locale.providers=COMPAT  スイッチを使用することで Java 8 互換のロケール データ ソースを強制することができます。

Java バージョン チェックと GC パラメータ

起動スクリプトを次のように変更しました。

  • JDK 8 または JDK 11 の使用を許可
  • JDK 11 での実行時に Java 11 と互換性のある GC パラメーターを使用
削除されたアイテム (ライブラリ、クラス、コード)
  • atlassian-extension library

  • com.atlassian.jira.plugin.ExtensionAccessorPicoAdapter

  • com.atlassian.jira.util.system.check.PluginVersionCheck


API の重大な変更

影響を受けるクラス変更されているコード / アイテム変更と新しいコード / アイテム
com.atlassian.jira.bc.dataimport.DataImportEventメソッド: getXmlExportTimecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.dataimport.ImportCompletedEventコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getXmlExportTimecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.dataimport.ImportStartedEventコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getXmlExportTimecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.issue.comment.CommentService$CommentCreateValidationResultコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getCommentInputParameterscom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.issue.comment.CommentService$CommentUpdateValidationResult


コンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。

メソッド: getCommentPropertiesgetComment

com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.issue.visibility.InvalidVisibilityメソッド: getParamcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.project.version.VersionService$ValidationResultメソッド: getVersionToMergeTocom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.project.ProjectServiceメソッド: updateProjectTypecom.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を返します。
com.atlassian.jira.license.JiraLicenseManagerメソッド: getLicensecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.license.LicenseChangedEventコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
フィールド: previousLicenseDetailsnewLicenseDetailscom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を入力します。
メソッド: getPreviousLicenseDetailsgetNewLicenseDetailscom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.entity.property.EntityPropertyHelperメソッド: createSetPropertyEventFunctioncreateDeletePropertyEventFunction非推奨メソッドが削除されました。
メソッド: getEntityByIdFunctioncom.google.common.base.Function ではなく java.util.function.Function を返します。
com.atlassian.jira.entity.property.EntityPropertyService$DeletePropertyValidationResult

コンストラクタ

com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.entity.property.EntityPropertyService$PropertyServiceResultコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getEntityPropertycom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.entity.property.EntityPropertyService$SetPropertyValidationResultコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getEntityPropertyInputcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.entity.property.EntityPropertyService$PropertyResultコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.util.Functionメソッド: get名前変更 → apply
com.atlassian.jira.util.Resolverメソッド: get名前変更 → apply
com.atlassian.jira.util.OrderByRequestParserメソッド: parsecom.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を返します。
com.atlassian.jira.util.collect.EnclosedIterable$ListResolverメソッド: get名前変更 → apply
com.atlassian.jira.util.lang.JiraStringUtilsメソッド: toLongcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.properties.PropertiesManagerメソッド: getPropertySetReferencecom.atlassian.util.concurrent.Supplier ではなく java.util.function.Supplier を返します。
com.atlassian.jira.config.properties.BackingPropertySetManagerメソッド: getPropertySetSuppliercom.atlassian.util.concurrent.Supplier ではなく java.util.function.Supplier を返します。
com.atlassian.jira.config.IssueTypeServiceメソッド: getIssueTypecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$IssueTypeDeleteInputコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getAlternativeIssueTypeIdcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$IssueTypeUpdateInputメソッド: getAvatarIdgetNamegetDescriptioncom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$UpdateValidationResultメソッド: getIssueTypegetIssueTypeInputcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$DeleteValidationResultコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getDeleteIssueTypeInputcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$IssueTypeCreateInputメソッド: getDescriptioncom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$CreateValidationResultメソッド: getIssueTypeInputcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.FeatureManagerメソッド: getFeatureFlagcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.ConstantsManagerメソッド: validateNamecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可し、返します。
com.atlassian.jira.project.UpdateProjectParameters

メソッド: getDescriptiongetKeygetProjectTypeKeygetAvatarId、 

getProjectCategoryIdgetUrlgetNamegetLeadUsernamegetLeadUserKeygetAssigneeType

com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.project.version.VersionManagerメソッド: deleteVersionswapVersionForRelatedIssuescom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.project.type.ProjectTypeManager

メソッド: getByKeygetAccessibleProjectType 

getApplicationWithTypegetAccessibleProjectType

com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.application.api.ApplicationKeyメソッド: getApplicationcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します
com.atlassian.jira.plugin.comment.CommentFieldRendererModuleDescriptorメソッド: getIssuePageViewHtmlgetFieldEditHtmlgetIssuePageEditHtmlgetFieldViewHtmlcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.plugin.customfield.CustomFieldTypeModuleDescriptorsメソッド: getCustomFieldTypecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.plugin.customfield.CustomFieldSearcherModuleDescriptorsメソッド: getCustomFieldSearchercom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.plugin.report.ReportUrlProviderメソッド: getUrlcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.security.PermissionManagerメソッド: getProjectPermissioncom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.help.HelpUrlsParserBuilderFactory$HelpUrlsParserBuilderメソッド: applicationHelpSpacecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.portal.PortletConfigurationメソッド: getOpenSocialSpecUrigetCompleteModuleKeycom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.portal.PortletConfigurationManagerメソッド: addDashBoardItemcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.permission.PermissionHolderメソッド: getParametercom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.permission.PermissionSchemeInputメソッド: getDescriptioncom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.permission.JiraPermissionHolderTypeメソッド: fromKeycom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.event.project.VersionDeleteEventメソッド: getFixVersionSwappedTogetMergedTogetAffectsVersionSwappedTocom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.application.ApplicationRoleManagerメソッド: getRolecom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.issue.attachment.TemporaryAttachmentメソッド: getEntityTokencom.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を許可します。
com.atlassian.jira.issue.attachment.TemporaryWebAttachmentManagerメソッド: getTemporaryWebAttachmentcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
メソッド: createTemporaryWebAttachmentcom.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を許可し、返します。
com.atlassian.jira.issue.AttachmentValidatorメソッド: canCreateTemporaryAttachmentscom.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を許可します。
com.atlassian.jira.issue.AttachmentErrorコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getExceptioncom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.issue.AttachmentsBulkOperationResultコンストラクタcom.atlassian.fugue.Pair ではなく io.atlassian.fugue.Pair を許可します。
com.atlassian.jira.issue.AttachmentManagerメソッド: convertTemporaryAttachmenttryCreateAttachmentcopyAttachmentcom.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を返します。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBeanメソッド: builderpropertySelfcom.atlassian.fugue.Function2  を許可する非推奨のオーバーロードは削除されました。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBean$Builderコンストラクタcom.atlassian.fugue.Function2  許可する非推奨のオーバーロードは削除されました。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBeanSelfFunctionsメソッド: dashboardItemPropertySelfFunction非推奨メソッドが削除されました。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBeanSelfFunctions$IssuePropertySelfFunctionクラス非推奨クラスが削除されました。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBeanSelfFunctions$ProjectPropertySelfFunctionクラス非推奨クラスが削除されました。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBeanSelfFunctions$CommentPropertySelfFunctionクラス非推奨クラスが削除されました。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBeanSelfFunctions$IssueTypePropertySelfFunctionクラス非推奨クラスが削除されました。
com.atlassian.jira.issue.search.util.TextTermEscaperメソッド: get名前変更 → apply
com.atlassian.query.clause.TerminalClauseメソッド: getPropertycom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.query.clause.TerminalClauseImplコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getPropertycom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.query.order.SearchSortコンストラクタcom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getPropertycom.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。


変更履歴

コア コンポーネントの変更の説明については、以下のリソースもご確認ください。

最終更新日 2019 年 8 月 13 日

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

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