0

尝试使用 IBM Java 8 在 z、SLES12 上运行 Liferay 7 包。运行 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 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 的信息,将不胜感激。

4

2 回答 2

0

谢谢您的意见。我们通过删除一个专门引用 Oracle Java 加密的 MANIFEST.MF(在 Liferay 7 捆绑的 Tomcat 目录中)文件解决了这个问题。当我们删除该文件时,它启动时没有错误。从那以后,我们倾向于在日志中看到一条消息,大意是“找不到 Oracle 的加密文件,而是使用 IBM 的”。

启动时不存在其他问题。

于 2017-02-09T00:46:58.837 回答
0

Ans 2. javax.crypto 包应该存在于 IBM java - 在 rt.jar 中。直接用 Oracle 包替换它可能会破坏 IBM java 类库功能,因为它们的结构和实现略有不同。

于 2017-02-07T08:15:26.127 回答