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

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

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

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

変更

詳細

最新の Atlassian Fugue への移行

  • Jira API は最新の io.atlassian.fugue ライブラリを使用するよう更新されました

  • 古い com.atlassian.fugue ライブラリの使用は非推奨になりました。

最新の Atlassian Concurrent への移行

  • Jira API は最新の io.atlassian.util.concurrent ライブラリを使用するよう更新されました

  • 古い com.atlassian.util.concurrent ライブラリは非推奨になりました。

Spring 5 への移行

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

Guava 26 への移行

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

すべてのプラットフォーム コンポーネントを Java 11 および Atlassian Platform 5.0.0 との互換性のために更新

  • 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

すべてのサードパーティ製プラットフォーム コンポーネントを Java 11 および Atlassian Platform 5.0.0 との互換性のために更新


  • 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 ライブラリ

  • com.atlassian.jira.plugin.ExtensionAccessorPicoAdapter

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


API の重大な変更

影響を受けるクラス 変更されているコード / アイテム 変更と新しいコード / アイテム
com.atlassian.jira.bc.dataimport.DataImportEvent メソッド: getXmlExportTime com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.dataimport.ImportCompletedEvent コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getXmlExportTime com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.dataimport.ImportStartedEvent コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getXmlExportTime com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.issue.comment.CommentService$CommentCreateValidationResult コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getCommentInputParameters com.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 メソッド: getParam com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.project.version.VersionService$ValidationResult メソッド: getVersionToMergeTo com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.bc.project.ProjectService メソッド: updateProjectType com.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を返します。
com.atlassian.jira.license.JiraLicenseManager メソッド: getLicense com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.license.LicenseChangedEvent コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
フィールド: previousLicenseDetailsnewLicenseDetails com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を入力します。
メソッド: getPreviousLicenseDetailsgetNewLicenseDetails com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.entity.property.EntityPropertyHelper メソッド: createSetPropertyEventFunctioncreateDeletePropertyEventFunction 非推奨メソッドが削除されました。
メソッド: getEntityByIdFunction com.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 を許可します。
メソッド: getEntityProperty com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.entity.property.EntityPropertyService$SetPropertyValidationResult コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getEntityPropertyInput com.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 メソッド: parse com.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を返します。
com.atlassian.jira.util.collect.EnclosedIterable$ListResolver メソッド: get 名前変更 → apply
com.atlassian.jira.util.lang.JiraStringUtils メソッド: toLong com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.properties.PropertiesManager メソッド: getPropertySetReference com.atlassian.util.concurrent.Supplier ではなく java.util.function.Supplier を返します。
com.atlassian.jira.config.properties.BackingPropertySetManager メソッド: getPropertySetSupplier com.atlassian.util.concurrent.Supplier ではなく java.util.function.Supplier を返します。
com.atlassian.jira.config.IssueTypeService メソッド: getIssueType com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$IssueTypeDeleteInput コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getAlternativeIssueTypeId com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$IssueTypeUpdateInput メソッド: getAvatarIdgetNamegetDescription com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$UpdateValidationResult メソッド: getIssueTypegetIssueTypeInput com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$DeleteValidationResult コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getDeleteIssueTypeInput com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$IssueTypeCreateInput メソッド: getDescription com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.IssueTypeService$CreateValidationResult メソッド: getIssueTypeInput com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.FeatureManager メソッド: getFeatureFlag com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.config.ConstantsManager メソッド: validateName com.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 メソッド: deleteVersionswapVersionForRelatedIssues com.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 メソッド: getApplication com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します
com.atlassian.jira.plugin.comment.CommentFieldRendererModuleDescriptor メソッド: getIssuePageViewHtmlgetFieldEditHtmlgetIssuePageEditHtmlgetFieldViewHtml com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.plugin.customfield.CustomFieldTypeModuleDescriptors メソッド: getCustomFieldType com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.plugin.customfield.CustomFieldSearcherModuleDescriptors メソッド: getCustomFieldSearcher com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.plugin.report.ReportUrlProvider メソッド: getUrl com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.security.PermissionManager メソッド: getProjectPermission com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.help.HelpUrlsParserBuilderFactory$HelpUrlsParserBuilder メソッド: applicationHelpSpace com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.portal.PortletConfiguration メソッド: getOpenSocialSpecUrigetCompleteModuleKey com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.portal.PortletConfigurationManager メソッド: addDashBoardItem com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
com.atlassian.jira.permission.PermissionHolder メソッド: getParameter com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.permission.PermissionSchemeInput メソッド: getDescription com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.permission.JiraPermissionHolderType メソッド: fromKey com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.event.project.VersionDeleteEvent メソッド: getFixVersionSwappedTogetMergedTogetAffectsVersionSwappedTo com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.application.ApplicationRoleManager メソッド: getRole com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.jira.issue.attachment.TemporaryAttachment メソッド: getEntityToken com.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を許可します。
com.atlassian.jira.issue.attachment.TemporaryWebAttachmentManager メソッド: getTemporaryWebAttachment com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
メソッド: createTemporaryWebAttachment com.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を許可し、返します。
com.atlassian.jira.issue.AttachmentValidator メソッド: canCreateTemporaryAttachments com.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を許可します。
com.atlassian.jira.issue.AttachmentError コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getException com.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 メソッド: convertTemporaryAttachmenttryCreateAttachmentcopyAttachment com.atlassian.fugue.Either ではなく io.atlassian.fugue.Either を返します。
com.atlassian.jira.issue.fields.rest.json.beans.EntityPropertyBean メソッド: builderpropertySelf com.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 メソッド: getProperty com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.query.clause.TerminalClauseImpl コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getProperty com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。
com.atlassian.query.order.SearchSort コンストラクタ com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を許可します。
メソッド: getProperty com.atlassian.fugue.Option ではなく io.atlassian.fugue.Option を返します。


変更履歴

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

最終更新日 2019 年 8 月 13 日

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

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