問題
- ユーザーが6.2環境で IBM JDK を使用していた場合、6.2からDXPへのアップグレードはIBM固有のAESSecretKeyエラーで失敗します。
2020-01-08 13:00:49.267 ERROR [main][Base64:343] java.lang.ClassNotFoundException: com.ibm.crypto.provider.AESSecretKey
java.lang.ClassNotFoundException: com.ibm.crypto.provider.AESSecretKey
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.liferay.petra.lang.ClassResolverUtil.resolve(ClassResolverUtil.java:29)
at com.liferay.portal.kernel.io.ProtectedObjectInputStream.doResolveClass(ProtectedObjectInputStream.java:52)
at com.liferay.portal.kernel.io.ProtectedObjectInputStream.resolveClass(ProtectedObjectInputStream.java:65)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.liferay.portal.kernel.util.Base64._stringToObject(Base64.java:339)
at com.liferay.portal.kernel.util.Base64.stringToObject(Base64.java:87)
at com.liferay.portal.upgrade.v7_0_1.UpgradeCompany.updateCompanyKey(UpgradeCompany.java:49)
at com.liferay.portal.upgrade.v7_0_1.UpgradeCompany.doUpgrade(UpgradeCompany.java:35)
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:96)
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:141)
at com.liferay.portal.upgrade.UpgradeProcess_7_0_1.doUpgrade(UpgradeProcess_7_0_1.java:41)
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:96)
at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil._upgradeProcess(UpgradeProcessUtil.java:173)
at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil.upgradeProcess(UpgradeProcessUtil.java:140)
at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil.upgradeProcess(UpgradeProcessUtil.java:122)
at com.liferay.portal.events.StartupHelper.upgradeProcess(StartupHelper.java:154)
at com.liferay.portal.events.StartupHelperUtil.upgradeProcess(StartupHelperUtil.java:85)
at com.liferay.portal.tools.DBUpgrader.upgrade(DBUpgrader.java:174)
at com.liferay.portal.tools.DBUpgrader.main(DBUpgrader.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.liferay.portal.tools.db.upgrade.client.DBUpgraderLauncher.main(DBUpgraderLauncher.java:55)
2020-01-08 13:00:49.271 INFO [main][LoggingTimer:43] Completed com.liferay.portal.upgrade.v7_0_1.UpgradeCompany#updateCompanyKey in 18 ms
2020-01-08 13:00:49.271 INFO [main][UpgradeProcess:107] Failed upgrade process com.liferay.portal.upgrade.v7_0_1.UpgradeCompany in 19 ms
2020-01-08 13:00:49.272 INFO [main][UpgradeProcess:107] Failed upgrade process com.liferay.portal.upgrade.UpgradeProcess_7_0_1 in 726 ms
com.liferay.portal.kernel.upgrade.UpgradeException: com.liferay.portal.kernel.upgrade.UpgradeException: java.lang.NullPointerException
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:101)
at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil._upgradeProcess(UpgradeProcessUtil.java:173)
at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil.upgradeProcess(UpgradeProcessUtil.java:140)
at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil.upgradeProcess(UpgradeProcessUtil.java:122)
at com.liferay.portal.events.StartupHelper.upgradeProcess(StartupHelper.java:154)
at com.liferay.portal.events.StartupHelperUtil.upgradeProcess(StartupHelperUtil.java:85)
at com.liferay.portal.tools.DBUpgrader.upgrade(DBUpgrader.java:174)
at com.liferay.portal.tools.DBUpgrader.main(DBUpgrader.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.liferay.portal.tools.db.upgrade.client.DBUpgraderLauncher.main(DBUpgraderLauncher.java:55)
Caused by: com.liferay.portal.kernel.upgrade.UpgradeException: java.lang.NullPointerException
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:101)
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:141)
at com.liferay.portal.upgrade.UpgradeProcess_7_0_1.doUpgrade(UpgradeProcess_7_0_1.java:41)
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:96)
... 12 more
Caused by: java.lang.NullPointerException
at com.liferay.petra.encryptor.Encryptor.serializeKey(Encryptor.java:231)
at com.liferay.portal.upgrade.v7_0_1.UpgradeCompany.updateCompanyKey(UpgradeCompany.java:51)
at com.liferay.portal.upgrade.v7_0_1.UpgradeCompany.doUpgrade(UpgradeCompany.java:35)
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:96)
... 15 more
環境
- Portal 6.2 with IBM JDK
- DXP 7.0
- DXP 7.1
- DXP 7.2
解決策
以下のポイントをすべてクリアしてください:
- %JAVA_HOME% という環境変数が JDK のディレクトリを指している必要があります。
- JDKbinディレクトリは、システムPATHおよびユーザーPATH変数に含まれます。
- DXP で IBM JDK を使用する場合 ibmjceprovider.jar ファイルは JDK/jre/lib/ext ディレクトリに存在します。
- DXP で OpenJDK を使用する場合 sunjce_provider.jar ファイルは JDK/jre/lib/ext ディレクトリに存在します。
- また、JDK/jre/lib/extフォルダのjarのパーミッションが正しいかどうかを確認します。
- アップグレードに失敗した後、データベースが復元され、アップグレードを再度実行する前に一時フォルダーが削除されたかどうかを確認します