Closed jimmie0204 closed 1 year ago
手动排查下 /usr/java/jdk1.8.0_201-amd64/jre/lib/amd64/dcevm/ 是否存在 libjvm.so 这个文件
手动排查下 /usr/java/jdk1.8.0_201-amd64/jre/lib/amd64/dcevm/ 是否存在 libjvm.so 这个文件
不存在,我配置的JAVA_HOME是/data/jdk,在执行install.sh安装以后,libjvm.so 这个文件也被安装到/data/jdk/jre/lib/amd64/dcevm/ 下面,执行java -XXaltjvm=dcevm -version的时候,却是从 /usr/java/jdk1.8.0_201-amd64这个路径下找libjvm.so 文件。
应该还是环境问题,我执行/data/jdk/bin/java -XXaltjvm=dcevm -version是能正确显示的。
手动排查下 /usr/java/jdk1.8.0_201-amd64/jre/lib/amd64/dcevm/ 是否存在 libjvm.so 这个文件
不存在,我配置的JAVA_HOME是/data/jdk,在执行install.sh安装以后,libjvm.so 这个文件也被安装到/data/jdk/jre/lib/amd64/dcevm/ 下面,执行java -XXaltjvm=dcevm -version的时候,却是从 /usr/java/jdk1.8.0_201-amd64这个路径下找libjvm.so 文件。
应该还是环境问题,我执行/data/jdk/bin/java -XXaltjvm=dcevm -version是能正确显示的。
估计是你的java命令并不在$JAVA_HOME/bin目录下,检查一下path环境变量
手动排查下 /usr/java/jdk1.8.0_201-amd64/jre/lib/amd64/dcevm/ 是否存在 libjvm.so 这个文件
不存在,我配置的JAVA_HOME是/data/jdk,在执行install.sh安装以后,libjvm.so 这个文件也被安装到/data/jdk/jre/lib/amd64/dcevm/ 下面,执行java -XXaltjvm=dcevm -version的时候,却是从 /usr/java/jdk1.8.0_201-amd64这个路径下找libjvm.so 文件。 应该还是环境问题,我执行/data/jdk/bin/java -XXaltjvm=dcevm -version是能正确显示的。
估计是你的java命令并不在$JAVA_HOME/bin目录下,检查一下path环境变量
嗯,java命令指向的jdk路径不是项目用的jdk,安装成功了,但是在服务器端运行失败。 增加的JVM启动参数:-XXaltjvm=dcevm -javaagent:/data/HotSecondsServer/HotSecondsServer.jar=hotconf=/data/HotSecondsServer/hot-seconds-remote.xml
“hot-seconds-remote.xml”我没有复制到其他地方,还在/data/HotSecondsServer路径下,这个有啥问题吗?
运行错误信息(WARNING信息): 14-Sep-2023 10:15:10.406 WARNING [main] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/data/HotSecondsServer/mybatis-3.5.3.jar] from classloader hierarchy java.io.FileNotFoundException: /data/HotSecondsServer/mybatis-3.5.3.jar (No such file or directory) 14-Sep-2023 10:15:10.407 WARNING [main] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/data/HotSecondsServer/pegdown-1.4.1.jar] from classloader hierarchy java.io.FileNotFoundException: /data/HotSecondsServer/pegdown-1.4.1.jar (No such file or directory)
你server端安装文档第二步写的"将hot-seconds-remote.xml复制到代码的resource目录(随便找个目录都行,记目录为$path2)",两个疑问:1、你说的代码指的是idea里面的项目代码吗?2、hot-seconds-remote.xml需要复制到resource下的随便一个目录,还是说不必是resource下,其他目录下都可以。
任意目录都行,只要hotconf能读取到这个目录就行,报错的WARNING可以不用管不影响启动
任意目录都行,只要hotconf能读取到这个目录就行,报错的WARNING可以不用管不影响启动
好的,我再试试。 有没有考虑搞个交流群😊
启动报错,jvm参数:/data/jdk/jre/bin/java -Djava.util.logging.config.file=/data/platform-web-server/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms4096M -Xmx8192M -server -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:+PrintReferenceGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintAdaptiveSizePolicy -XX:+PrintTenuringDistribution -Djava.library.path=/usr/lib/hadoop/lib/native -XX:+UnlockDiagnosticVMOptions -XX:+HeapDumpOnOutOfMemoryError -Dweb.root=/data/platform-web-server/webapps/ROOT/ -verbose:gc -Xloggc:/data/platform-web-server/gc-20230914.txt -XX:HeapDumpPath=/data/platform-web-server/logs/platform-web-server-20230914.hprof -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000 -XXaltjvm=dcevm -javaagent:/data/HotSecondsServer/HotSecondsServer.jar=hotconf=/data/HotSecondsServer/hot-seconds-remote.xml -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/platform-web-server/bin/bootstrap.jar:/data/platform-web-server/bin/tomcat-juli.jar -Dcatalina.base=/data/platform-web-server -Dcatalina.home=/data/platform-web-server -Djava.io.tmpdir=/data/platform-web-server/temp org.apache.catalina.startup.Bootstrap start Must use the serial GC in the DCEVM Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
不支持并行垃圾回收器吗?
不支持,一般情况下没有影响,如果实在需要并行可以去掉-XXaltjvm=dcevm,但是这样不支持新增字段和方法的热更新,其他的功能不影响
服务端已经运行成功,idea里配置完客户端以后,找一个class文件运行远程部署,报这个错误: hodeployclass,remotePath=null,outPutPath=/Users/jimmie/myNewWorkspaces/server/api/target/classes/,className=xxxx
remotePath已经配置好,这里读取的怎么是null
服务端已经运行成功,idea里配置完客户端以后,找一个class文件运行远程部署,报这个错误: hodeployclass,remotePath=null,outPutPath=/Users/jimmie/myNewWorkspaces/server/api/target/classes/,className=xxxx
remotePath已经配置好,这里读取的怎么是null
class文件可以不填路径映射,显示remotePath=null,说明你的本地路径不对,找不到远程路径
启动时,spring容器实例化hibernate一些类的时候报错,用的spring5.x,hibernate5.x。
错误日志如下:
HOTSECONDS: 17:47:28.870 ERROR InvocationTargetException in transform method on plugin 'class org.hotswap.agent.plugin.hibernate.HibernatePlugin' class 'org/hibernate/validator/internal/metadata/BeanMetaDataManager'.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:218)
at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:112)
at org.hotswap.agent.util.HotswapTransformer.transform(HotswapTransformer.java:246)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:875)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1376)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38)
at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.buildValidatorFactory(AbstractConfigurationImpl.java:451)
at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:103)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:501)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:137)
at org.hibernate.internal.SessionFactoryImpl.
HOTSECONDS: 17:47:29.936 INFO Plugin 'org.hotswap.agent.plugin.hibernate.HibernatePlugin' initialized in ClassLoader 'ParallelWebappClassLoader context: ROOT delegate: false ----------> Parent Classloader: java.net.URLClassLoader@424e1977
去掉HotSecond这个agent再启动是没问题的
环境:jdk1.8.0_201 下载的https://github.com/Liubsyy/HotSecondsIDEA/releases/download/libjvm_so/libjvm181.so文件
执行install.sh安装 执行java -XXaltjvm=dcevm -version验证报错。 错误信息: Error: missing
dcevm' JVM at
/usr/java/jdk1.8.0_201-amd64/jre/lib/amd64/dcevm/libjvm.so'. Please install or use the JRE or JDK that contains these missing components这个是什么原因?