glassfish Client not authorized for this invocation.解决办法

javax.ejb.EJBAccessException
	at com.sun.ejb.containers.BaseContainer.mapLocal3xException(BaseContainer.java:2314)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2088)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at $Proxy217.getPrincipalshipByName(Unknown Source)
	at com.future.egov.evd.web.action.UserAction.getUserByCell(UserAction.java:878)
	at com.future.egov.evd.web.action.UserAction.saveUserAndUpdateOrg(UserAction.java:850)
	at com.future.egov.evd.web.action.UserAction.readXls(UserAction.java:806)
	at com.future.egov.evd.web.action.UserAction.importUserExcel(UserAction.java:781)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
	at com.future.egov.evd.web.util.EncodingFilter.doFilter(EncodingFilter.java:38)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
	at com.future.egov.evd.tag.ResourceRecordFilter.doFilter(ResourceRecordFilter.java:48)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:619)
Caused by: javax.ejb.AccessLocalException: Client not authorized for this invocation.
	at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1885)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 56 more
 
清空C:\Program Files\glassfish-3.1\glassfish\domains\domain1\generated 下的文件

<think>好的,我现在要解决用户提到的Maven构建时找不到org.glassfish.web:jakarta.tags.core:2.0.0的问题。首先,我需要确认这个依赖是否存在,以及它的正确坐标是什么。 用户提到他们使用的是jakarta.tags.core的2.0.0版本,但可能在中央仓库中没有这个版本。我记得Jakarta EE的包名和groupId可能发生了变化。原来的javax包迁移到jakarta后,可能由不同的组织维护,比如Eclipse Foundation。例如,jakarta.servlet.jsp.jstl-api的依赖属于jakarta.servlet.jsp.jstl组,而不是org.glassfish.web。所以用户可能混淆了groupId。 接下来,我需要检查Maven中央仓库是否存在这个依赖。访问https://search.maven.org/搜索org.glassfish.web:jakarta.tags.core,可能发现没有2.0.0版本。正确的jakarta.servlet.jsp.jstl-api的版本是2.0.0,属于groupId jakarta.servlet.jsp.jstl。所以用户应该更新他们的pom.xml中的依赖项,使用正确的groupId和artifactId。 另外,用户可能在配置taglib时引用了旧的URI,导致爆红。正确的URI应该是jakarta.tags.core对应的URI,或者检查是否导入了正确的依赖。 可能的解决方案包括:检查并更正依赖的groupId和artifactId,添加正确的仓库配置,或者检查是否有拼写错误。此外,用户可能需要更新项目中的标签库声明,使用新的Jakarta命名空间。 最后,建议用户确认依赖配置,并参考官方文档或Maven仓库的信息来确保坐标正确。如果问题仍然存在,可能需要检查网络连接或代理设置,确保能够访问中央仓库。</think>关于Maven构建时找不到$org.glassfish.web:jakarta.tags.core:2.0.0$的问题,以下是分步解决方案: ### 问题原因 Jakarta EE规范升级后,部分依赖的坐标和命名空间发生了变化。旧版$org.glassfish.web$组下的依赖已被迁移到新的$jakarta.servlet.jsp.jstl$命名空间下[^3]。 ### 解决方案 1. **修正依赖坐标** 在pom.xml中使用Jakarta EE 9+标准的依赖声明: ```xml <dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>2.0.0</version> </dependency> ``` 2. **添加JSTL实现依赖** 需要同时添加API和实现: ```xml <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>2.0.0</version> </dependency> ``` 3. **检查JDK版本配置** 确保pom.xml中已正确配置JDK 17+: ```xml <maven.compiler.source>17.0.6</maven.compiler.source> <maven.compiler.target>17.0.6</maven.compiler.target> ``` 如未生效,可添加profile强制指定[^2] 4. **更新taglib声明** JSP页面中应使用新的URI: ```jsp <%@ taglib prefix="c" uri="jakarta.tags.core" %> ``` ### 验证步骤 执行以下命令强制更新依赖: ```bash mvn clean install -U ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值