Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Quarkus构建失败:拦截器没有绑定:org.jboss.solder.exception.control.exception HandledInterceptor_Java_Quarkus - Fatal编程技术网

Java Quarkus构建失败:拦截器没有绑定:org.jboss.solder.exception.control.exception HandledInterceptor

Java Quarkus构建失败:拦截器没有绑定:org.jboss.solder.exception.control.exception HandledInterceptor,java,quarkus,Java,Quarkus,我正试图将一个小型公司(mutli模块)RESTEasy JAX-RS应用程序移植到Quarkus,但我遇到了下面的错误。我检查了应用程序本身的代码,但找不到任何关于焊料异常处理的引用,因此我怀疑它来自外部依赖(有许多公司的依赖我无法控制)。我在互联网上搜索了这个特殊的UALR错误,希望这只是我错过的Quarkus依赖项或配置,但事实似乎并非如此。或者它还没有在Quarkus中实现 谢谢你的帮助 操作系统:ubuntu18.04(WSL) Java:OpenJDK 11.0.8 命令:/mvnw

我正试图将一个小型公司(mutli模块)RESTEasy JAX-RS应用程序移植到Quarkus,但我遇到了下面的错误。我检查了应用程序本身的代码,但找不到任何关于焊料异常处理的引用,因此我怀疑它来自外部依赖(有许多公司的依赖我无法控制)。我在互联网上搜索了这个特殊的UALR错误,希望这只是我错过的Quarkus依赖项或配置,但事实似乎并非如此。或者它还没有在Quarkus中实现

谢谢你的帮助

操作系统:
ubuntu18.04(WSL)

Java:
OpenJDK 11.0.8

命令:
/mvnw clean install-DskipTests

错误消息:

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.9.0.Final:build (default) on project <REDACTED>: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.arc.deployment.ArcProcessor#registerBeans threw an exception: javax.enterprise.inject.spi.DefinitionException: Interceptor has no bindings: org.jboss.solder.exception.control.ExceptionHandledInterceptor
[ERROR]         at io.quarkus.arc.processor.Interceptors.createInterceptor(Interceptors.java:44)
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.findInterceptors(BeanDeployment.java:1052)
[ERROR]         at io.quarkus.arc.processor.BeanDeployment.registerBeans(BeanDeployment.java:220)
[ERROR]         at io.quarkus.arc.processor.BeanProcessor.registerBeans(BeanProcessor.java:115)
[ERROR]         at io.quarkus.arc.deployment.ArcProcessor.registerBeans(ArcProcessor.java:381)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR]         at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:936)
[ERROR]         at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR]         at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR]         at org.jboss.threads.JBossThread.run(JBossThread.java:479)
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :<REDACTED>
[错误]未能执行目标io。quarkus:quarkus maven插件:1.9.0。最终:项目上的生成(默认):未能生成quarkus应用程序:io.quarkus.builder.BuildException:生成失败:由于错误而生成失败
[错误][错误]:构建步骤io.quarkus.arc.deployment.ArcProcessor#registerBeans引发异常:javax.enterprise.inject.spi.DefinitionException:拦截器没有绑定:org.jboss.solder.exception.control.ExceptionHandledInterceptor
[错误]位于io.quarkus.arc.processor.Interceptors.createInterceptor(Interceptors.java:44)
[错误]位于io.quarkus.arc.processor.BeanDeployment.findInterceptors(BeanDeployment.java:1052)
[错误]位于io.quarkus.arc.processor.BeanDeployment.registerBeans(BeanDeployment.java:220)
[错误]位于io.quarkus.arc.processor.BeanProcessor.registerBeans(BeanProcessor.java:115)
[错误]位于io.quarkus.arc.deployment.ArcProcessor.registerBeans(ArcProcessor.java:381)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处的[ERROR]
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)处的[ERROR]
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)处的[ERROR]
[错误]位于java.base/java.lang.reflect.Method.invoke(Method.java:566)
[错误]位于io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:936)
[错误]位于io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[错误]位于org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
[错误]位于org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
[错误]位于org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
[错误]位于org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
[错误]位于java.base/java.lang.Thread.run(Thread.java:834)
[错误]位于org.jboss.threads.JBossThread.run(JBossThread.java:479)
[错误]->[帮助1]
[错误]
[错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[错误]使用-X开关重新运行Maven以启用完整调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误][帮助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[错误]
[错误]纠正问题后,可以使用命令恢复生成
[错误]mvn-射频:
更新日期:2020年11月18日:
依赖项本身来自一个我无法控制的公司SDK jar:

[INFO] +- com.<REDACTED>.sdk:sdk-context-core-non-cdi:jar:<REDACTED>:compile
[INFO] |  \- com.<REDACTED>.sdk:sdk-services-core:jar:<REDACTED>:compile
[INFO] |     +- org.jboss.solder:solder-impl:jar:3.2.1.Final:compile
[INFO] |     |  \- org.jboss.solder:solder-api:jar:3.2.1.Final:compile
[INFO] |     |     \- org.jboss.solder:solder-logging:jar:3.2.1.Final:compile
[INFO] |     \- com.google.code.gson:gson:jar:2.3.1:provided
[INFO]+-com..sdk:sdk上下文核心非cdi:jar::compile
[INFO]\-com..sdk:sdk服务核心:jar::compile
[信息]|+-org.jboss.solder:solder impl:jar:3.2.1.最终:编译
[信息]| | \-org.jboss.锡膏:锡膏api:jar:3.2.1.Final:compile
[信息]| | \-org.jboss.锡膏:锡膏记录:jar:3.2.1.Final:compile
[INFO]\-com.google.code.gson:gson:jar:2.3.1:已提供
谢谢,
Emil

正如@RobertoCortez所建议的,排除org.jboss.solder:pom中的焊料impl解决了错误:


但是,一旦部署,应用程序可能会产生与缺少的库相关的异常。

这似乎是一个Seam类,很可能是由依赖项(或项目中的可传递依赖项)添加的。Quarkus未与Seam集成,因此导致错误。您是否能够检查依赖项并尝试删除有问题的依赖项?您可以使用
mvn dependency:tree
检查依赖项来自何处。@RobertoCortez非常感谢您的回复,它给了我一些有用的指针。依赖项本身来自一个我无法控制的公司SDK jar(我用它更新了问题描述)。因此,我唯一的选择是看看是否可以删除/替换应用程序代码本身中的依赖项。更可能的是Quarkus永远不会与Seam集成,因为该框架将在2012年停止开发。您可以排除该特定依赖性。我猜您包括了
sdk上下文核心非cdi
。在依赖项声明中,只需添加一个排除项到pom中的
org.jboss.solder:solder impl:jar
:@RobertoCortez排除
org.jboss.solder:solder impl
,这个错误就完成了(尽管我想知道在AWS Lambda中运行时是否有潜在问题)。现在我遇到了其他依赖项错误,但我将为它们创建一个新的帖子。