lealone / Lealone

比 MySQL 和 MongoDB 快10倍的 OLTP 关系数据库和文档数据库
Other
2.44k stars 513 forks source link

Lealone的petstore例子运行在腾讯的cloudstudio运行报错 #171

Closed zoujiegogogo closed 1 year ago

zoujiegogogo commented 1 year ago

我lealone跟例子都build好了,出现ERROR StatusLogger Could not reconfigure JMX报错 image

codefollower commented 1 year ago

petstore 这个例子没用到 log4j 的 JMX 功能,也可能是你那个环境不支持 JMX。 我看了一下 log4j 的代码,你可以加 -Dlog4j2.disable.jmx=true 参数来屏蔽截图里的代码调用栈。

截图的错误堆栈不够全,也看不出具体是哪里出错了。

zoujiegogogo commented 1 year ago

好的,如果我想要在Linux打包运行单个项目(单模块),怎么样才能打包成功?可以解释下咋搞不? image image

zoujiegogogo commented 1 year ago

我实在是不会弄,昨天搞eclipse,必须要下载支持JDK 17的eclipse运行Lealone的项目。不然会报错,image

codefollower commented 1 year ago

lealone 的源代码构建文档里是明确说了要 jdk 17 的,那个错误提示说 java 编译器找不到,说明你给 eclipse 配的是 jre(不带 java 编译器),不是 jdk。去下个 jdk 17,配好环境变量,配合 eclipse 默认用 jdk 17 就好了。这是用 java 开发应用最基本的技能了,做过一次做完一次就好了。

codefollower commented 1 year ago

使用Lealone脚手架创建微服务应用 可以参考这个,默认就是生成单模块项目。

zoujiegogogo commented 1 year ago

那个例子项目现在也要JDK17了,文档现在是说编译源码需要JDK17,没说清楚运行项目也要JDK17,就是前面搞起来有点懵

zoujiegogogo commented 1 year ago

谢谢指点

codefollower commented 1 year ago

只有构建 lealone 的源代码需要 jdk 17,运行 lealone 和 lealone-examples 都只需要 jdk 1.8。

petstore 那个例子我忘记删除 pom.xml 中的 <release>8</release>,现在已经删除, jdk 1.8 不支持 -release 参数。

不过还是建议直接用 jdk 17 吧,我现在日常都用 jdk 17 了, jdk 1.8 只是为了兼容老项目。

codefollower commented 1 year ago

maven-compiler-plugin 会把 <release>8</release> 这个配置变成 javac --release 8,这个 --release 参数在 jdk 1.8 中的 javac 是不支持的,所以在 jdk 1.8 构建 petstore 就出错了,如果在 jdk 17 下面构建 petstore 没有 <release>8</release> 这个配置那打包出来的 pestore 就不能在 jdk 1.8 下面跑,只能在 jdk 17 下面跑。这个是 jdk 的兼容问题,不是 lealone 的问题。

zoujiegogogo commented 1 year ago

噢噢,这样啊,学到了