橙单后端项目下载编译遇到的问题与解决

今天下载orange-admin项目,不过下载下来运行出现一些问题。

1、涉及到XMLStreamException的几个类都出现下面的错误

The package javax.xml.stream is accessible from more than one module: <unnamed>, java.xml

ctrl-shift-t 可以找到这个引入是哪些包里包括的,看到下面有一个xml-apis也包含了,应该需要去掉这个才行

运行工程,输入dependency:tree 如下:运行

运行出来后,搜索会出现

从上面可以看到poi-ooxml包含了这个,所以需要去掉这个,如下:

2、解决了编译问题,运行又出现下面问题

Unable to make field protected java.lang.reflect.InvocationHandler

java 复制代码
INFO ] [2024-07-27 14:04:33] [main] ==> Started WebAdminApplication in 13.577 seconds (process running for 14.219)
[ERROR] [2024-07-27 14:04:33] [main] ==> Application run failed
java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h accessible: module java.base does not "opens java.lang.reflect" to unnamed module @125290e5
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
	at cn.hutool.core.util.ReflectUtil.setAccessible(ReflectUtil.java:1122)
	at cn.hutool.core.util.ReflectUtil.getFieldValue(ReflectUtil.java:271)
	at cn.hutool.core.util.ReflectUtil.getFieldValue(ReflectUtil.java:239)
	at com.orangeforms.common.datafilter.interceptor.MybatisDataFilterInterceptor.loadInfoWithDataFilter(MybatisDataFilterInterceptor.java:97)
	at com.orangeforms.common.datafilter.listener.LoadDataFilterInfoListener.onApplicationEvent(LoadDataFilterInfoListener.java:23)
	at com.orangeforms.common.datafilter.listener.LoadDataFilterInfoListener.onApplicationEvent(LoadDataFilterInfoListener.java:1)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:174)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:145)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:445)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
	at org.springframework.boot.context.event.EventPublishingRunListener.ready(EventPublishingRunListener.java:109)
	at org.springframework.boot.SpringApplicationRunListeners.lambda$ready$6(SpringApplicationRunListeners.java:80)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118)
	at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112)
	at org.springframework.boot.SpringApplicationRunListeners.ready(SpringApplicationRunListeners.java:80)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:335)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295)
	at com.orangeforms.webadmin.WebAdminApplication.main(WebAdminApplication.java:21)
[INFO ] [2024-07-27 14:04:33] [main] ==> Pausing ProtocolHandler ["http-nio-8082"]

看到相关使用 JDK17+ 版本时,需要为服务启动项 VM Options 添加选项 --add-opens java.base/java.lang.reflect=ALL-UNNAMED。

STS是在下面两个地方增加

1、是启动参数,在SpringToolSuite4.ini

增加--add-opens java.base/java.lang.reflect=ALL-UNNAMED,如下

2、同时需要再下面增加如下

这样就能正常运行了

相关推荐
程序员小白条11 分钟前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
xump18 分钟前
如何在DevTools选中调试一个实时交互才能显示的元素样式
前端·javascript·css
折翅嘀皇虫19 分钟前
fastdds.type_propagation 详解
java·服务器·前端
Front_Yue20 分钟前
深入探究跨域请求及其解决方案
前端·javascript
wordbaby22 分钟前
React Native 进阶实战:基于 Server-Driven UI 的动态表单架构设计
前端·react native·react.js
小年糕是糕手22 分钟前
【C++】类和对象(二) -- 构造函数、析构函数
java·c语言·开发语言·数据结构·c++·算法·leetcode
抱琴_22 分钟前
【Vue3】我用 Vue 封装了个 ECharts Hooks,同事看了直接拿去复用
前端·vue.js
风止何安啊24 分钟前
JS 里的 “变量租房记”:闭包是咋把变量 “扣” 下来的?
前端·javascript·node.js
豐儀麟阁贵24 分钟前
8.2异常的抛出与捕捉
java·开发语言·python
老华带你飞26 分钟前
社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·社区养老保障