Liferay 7 с ошибкой IBM Java javax.crypto

Попытка запустить комплект Liferay 7 на z, SLES12 с IBM Java 8. При запуске startup.sh я получаю следующую ошибку:

27-Jan-2017 17:00:14.652 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor /data/liferay/tomcat-8.0.32/conf/Catalina/localhost/ROOT.xml
27-Jan-2017 17:00:15.342 INFO [localhost-startStop-1] org.apache.catalina.util.ExtensionValidator.validateManifestResources ExtensionValidator[][file:/data/liferay/tomcat-8.0.32/webapps/ROOT/WEB-INF/classes/META-INF/MANIFEST.MF]: Required extension [javax.crypto] not found.
27-Jan-2017 17:00:15.343 INFO [localhost-startStop-1] org.apache.catalina.util.ExtensionValidator.validateManifestResources ExtensionValidator[]: Failure to find [1] required extension(s).
27-Jan-2017 17:00:15.343 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more components marked the context as not correctly configured
27-Jan-2017 17:00:15.344 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
27-Jan-2017 17:00:15.349 WARNING [localhost-startStop-1] org.apache.catalina.deploy.NamingResourcesImpl.cleanUp Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] so no cleanup was performed for that container
 javax.naming.NameNotFoundException: Name [comp/env] is not bound in this Context. Unable to find [comp].
    at org.apache.naming.NamingContext.lookup(NamingContext.java:818)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:166)
    at org.apache.catalina.deploy.NamingResourcesImpl.cleanUp(NamingResourcesImpl.java:993)
    at org.apache.catalina.deploy.NamingResourcesImpl.stopInternal(NamingResourcesImpl.java:975)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5492)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
    at java.util.concurrent.FutureTask.run(FutureTask.java:277)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.lang.Thread.run(Thread.java:785)

27-Jan-2017 17:00:15.352 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor /data/liferay/tomcat-8.0.32/conf/Catalina/localhost/ROOT.xml has finished in 699 ms
27-Jan-2017 17:00:15.354 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 752 ms
27-Jan-2017 17:00:15.356 SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]:
 java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:417)
    at java.net.ServerSocket.bind(ServerSocket.java:444)
    at java.net.ServerSocket.<init>(ServerSocket.java:258)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:420)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:717)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:663)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:508)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
    at org.apache.catalina.startup.Bootstrap

   .main(Bootstrap.java:485)

Версия Java:

java version "1.8.0"
Java(TM) SE Runtime Environment (build pxz6480sr3fp21-20161117_02(SR3 FP21))
IBM J9 VM (build 2.8, JRE 1.8.0 Linux s390x-64 Compressed References 20161114_325917 (JIT enabled, AOT enabled)
J9VM - R28_20161114_0146_B325917
JIT  - tr.r14.java.green_20161111_127476
GC   - R28_20161114_0146_B325917_CMPRSS
J9CL - 20161114_325917)
JCL - 20161116_01 based on Oracle jdk8u111-b14

Я не могу очистить

Обязательное расширение [javax.crypto] не найдено

ошибка и мне интересно, если кто-нибудь знает, если:

  1. IBM Java совместима с Liferay 7
  2. есть способ использовать пакет безопасности Oracle Java вместо IBM

Если у кого-нибудь есть какая-либо информация о том, как я могу запустить Liferay 7 в текущей среде, это будет с благодарностью.

2 ответа

Ответ 2. Пакет javax.crypto должен присутствовать в IBM java - в rt.jar. Замена этого напрямую пакетом Oracle может нарушить функциональность библиотеки Java-классов IBM, так как они имеют немного другую структуру и реализацию.

Спасибо за ваш вклад. Мы решили эту проблему, удалив файл MANIFEST.MF (в комплекте каталога Tomcat 7 Liferay 7), который специально ссылался на криптографию Oracle Java. Когда мы удалили этот файл, он запустился без ошибки. С тех пор мы, как правило, видим в журналах сообщение о том, что "криптофайл Oracle не найден, вместо этого используется IBM".

Других проблем при запуске нет.

Другие вопросы по тегам