- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 procrun ( Apache JSVC ) 创建操作系统后台服务。我想使用WELD作为容器。
应用程序本身(gradle run)运行良好。我可以看到所需的行为。但是当我尝试将其作为 Windows 服务运行时,我可以看到以下错误:
PS C:\Users\szdud\Documents\Projects\Java\logreader\build\windows-service> .\LogReader.exe //TS//LogReader start
System coudn't find path given.
Unable to create logger at ''
Exception in thread "main" java.lang.NoClassDefFoundError: com/netps/build/LogReaderService
Caused by: java.lang.ClassNotFoundException: com.netps.build.LogReaderService
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
[2018-03-03 23:42:11] [error] [13612] FindClass com/netps/build/LogReaderService failed
[2018-03-03 23:42:11] [error] [ 3724] Failed to start Java
[2018-03-03 23:42:11] [error] [ 3724] ServiceStart returned 4
[2018-03-03 23:42:11] [error] [ 3724] Commons Daemon procrun failed with exit value: 3 (Failed to run service as console application)
Failed to run service as console application
看起来 WELD 丢失了它的上下文和类路径位置。但我不明白为什么以及如何解决它。
你能帮我吗?
如果您想查看代码,可以在这里查看: https://github.com/sdudziak/logreader
编辑: 我在 Linux 操作系统下创建了一个 JAR 文件来检查这是否只是 Win 问题。但事实并非如此。我在运行 java -jar log-reader-all-1.0.jar
时收到了同样的问题:
[2018-03-05 10:52:10.226][DEBUG][main] logging - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
[2018-03-05 10:52:10.230][INFO ][main] Version - WELD-000900: 3.0.3 (Final)
[2018-03-05 10:52:10.251][DEBUG][main] Bootstrap - WELD-ENV-000030: Cannot load class using the ResourceLoader: org.jboss.jandex.Index
[2018-03-05 10:52:10.419][DEBUG][main] DefaultBeanArchiveScanner - Resolved bean archive reference: /var/www/netps/logreader/build/libs/log-
reader-all-1.0.jar for URL: jar:file:/var/www/netps/logreader/build/libs/log-reader-all-1.0.jar!/META-INF/beans.xml
[2018-03-05 10:52:10.420][DEBUG][main] Bootstrap - WELD-ENV-000032: Processing bean archive reference: /var/www/netps/logreader/build/libs/log-reader-all-1.0.jar
[2018-03-05 10:52:10.420][DEBUG][main] FileSystemBeanArchiveHandler - Handle path: /var/www/netps/logreader/build/libs/log-reader-all-1.0.jar
[2018-03-05 10:52:10.420][DEBUG][main] FileSystemBeanArchiveHandler - Handle archive file: /var/www/netps/logreader/build/libs/log-reader-all-1.0.jar
[2018-03-05 10:52:10.440][DEBUG][main] Bootstrap - WELD-ENV-000039: Bean archive reference /var/www/netps/logreader/build/libs/log-reader-all-1.0.jar handled by org.jboss.weld.environment.deployment.discovery.File
SystemBeanArchiveHandler@528c868
[2018-03-05 10:52:10.443][DEBUG][main] Bootstrap - WELD-ENV-000024: Archive isolation enabled - creating multiple isolated bean archives if needed
[2018-03-05 10:52:10.446][DEBUG][main] BootstrapTracker - START bootstrap
[2018-03-05 10:52:10.446][DEBUG][main] BootstrapTracker - START bootstrap > startContainer
[2018-03-05 10:52:10.454][DEBUG][main] Configuration - WELD-001902: Following configuration was detected and applied: {org.jboss.weld.executor.threadPoolType=COMMON, org.jboss.weld.construction.relaxed=true, org.j
boss.weld.bootstrap.allowOptimizedCleanup=true}
[2018-03-05 10:52:10.455][DEBUG][main] BootstrapTracker - START bootstrap > startContainer > initServices
[2018-03-05 10:52:10.475][DEBUG][main] Bootstrap - Using Weld modules: []
[2018-03-05 10:52:10.496][DEBUG][main] Bootstrap - Using instantiator: org.jboss.weld.bean.proxy.UnsafeProxyInstantiator
[2018-03-05 10:52:10.510][DEBUG][main] BootstrapTracker - END bootstrap > startContainer > initServices (55 ms)
[2018-03-05 10:52:10.510][INFO ][main] Bootstrap - WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
[2018-03-05 10:52:10.537][DEBUG][main] BootstrapTracker - START bootstrap > startContainer > builtinContexts
[2018-03-05 10:52:10.591][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%ApplicationContext
[2018-03-05 10:52:10.594][DEBUG][main] Reflection - WELD-000601: interface javax.inject.Singleton is missing @Target. Weld will use this annotation, however this may make the application unportable.
[2018-03-05 10:52:10.595][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%SingletonContext
[2018-03-05 10:52:10.597][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%BoundSessionContext
[2018-03-05 10:52:10.599][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%BoundConversationContext
[2018-03-05 10:52:10.600][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%BoundRequestContext
[2018-03-05 10:52:10.600][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%RequestContext
[2018-03-05 10:52:10.602][DEBUG][main] Bootstrap - WELD-000106: Bean: WELD%AbstractBuiltInBean%deployment%DependentContext
[2018-03-05 10:52:10.602][DEBUG][main] BootstrapTracker - END bootstrap > startContainer > builtinContexts (64 ms)
[2018-03-05 10:52:10.605][DEBUG][main] BootstrapTracker - START bootstrap > startContainer > readDeploymentStructure
[2018-03-05 10:52:10.621][DEBUG][main] Bootstrap - WELD-000106: Bean: Built-in Bean [javax.enterprise.inject.spi.BeanManager] with qualifiers [@Default]
[2018-03-05 10:52:10.621][DEBUG][main] Bootstrap - WELD-000106: Bean: Built-in Bean [org.jboss.weld.manager.BeanManagerImpl] with qualifiers [@Default]
[2018-03-05 10:52:10.622][DEBUG][main] BootstrapTracker - END bootstrap > startContainer > readDeploymentStructure (16 ms)
[2018-03-05 10:52:10.622][DEBUG][main] BootstrapTracker - END bootstrap > startContainer (176 ms)
[2018-03-05 10:52:10.623][DEBUG][main] BootstrapTracker - START bootstrap > startInitialization
[2018-03-05 10:52:10.652][DEBUG][main] Bootstrap - WELD-000106: Bean: Extension [class org.jboss.weld.bootstrap.WeldExtension] with qualifiers [@Default]; n/a
[2018-03-05 10:52:10.652][DEBUG][main] Bootstrap - WELD-000168: Extension bean deployed: Extension [class org.jboss.weld.bootstrap.WeldExtension] with qualifiers [@Default]; n/a
[2018-03-05 10:52:10.665][DEBUG][main] Bootstrap - WELD-000106: Bean: Extension [class org.jboss.weld.environment.se.WeldSEBeanRegistrant] with qualifiers [@Default]; jar:file:/var/www/netps/logreader/build/libs/l
og-reader-all-1.0.jar!/META-INF/services/javax.enterprise.inject.spi.Extension@1[org.jboss.weld.environment.se.WeldSEBeanRegistrant@2cab9998]
[2018-03-05 10:52:10.665][DEBUG][main] Bootstrap - WELD-000168: Extension bean deployed: Extension [class org.jboss.weld.environment.se.WeldSEBeanRegistrant] with qualifiers [@Default]; jar:file:/var/www/netps/log
reader/build/libs/log-reader-all-1.0.jar!/META-INF/services/javax.enterprise.inject.spi.Extension@1[org.jboss.weld.environment.se.WeldSEBeanRegistrant@2cab9998]
[2018-03-05 10:52:10.665][DEBUG][main] Bootstrap - WELD-000106: Bean: Built-in Bean [javax.enterprise.inject.spi.BeanManager] with qualifiers [@Default]
[2018-03-05 10:52:10.665][DEBUG][main] Bootstrap - WELD-000106: Bean: Built-in Bean [org.jboss.weld.manager.BeanManagerImpl] with qualifiers [@Default]
[2018-03-05 10:52:10.666][DEBUG][main] BootstrapTracker - START bootstrap > startInitialization > BeforeBeanDiscovery
[2018-03-05 10:52:10.695][DEBUG][main] Bootstrap - WELD-000162: BeforeBeanDiscovery.addAnnotatedType() called by org.jboss.weld.bootstrap.WeldExtension@d78795 for [BackedAnnotatedType] public @Vetoed @Interceptor
@ActivateRequestContext @Priority class org.jboss.weld.contexts.activator.ActivateRequestContextInterceptor
[2018-03-05 10:52:10.697][DEBUG][main] Bootstrap - WELD-000162: BeforeBeanDiscovery.addAnnotatedType() called by org.jboss.weld.bootstrap.WeldExtension@d78795 for [BackedAnnotatedType] public @Vetoed @Interceptor
@ActivateRequestContext @Priority class org.jboss.weld.contexts.activator.CdiRequestContextActivatorInterceptor
[2018-03-05 10:52:10.701][DEBUG][main] Bootstrap - WELD-000162: BeforeBeanDiscovery.addAnnotatedType() called by org.jboss.weld.environment.se.WeldSEBeanRegistrant@2cab9998 for [BackedAnnotatedType] public @Vetoed
@ApplicationScoped class org.jboss.weld.environment.se.beans.ParametersFactory
[2018-03-05 10:52:10.704][DEBUG][main] Bootstrap - WELD-000162: BeforeBeanDiscovery.addAnnotatedType() called by org.jboss.weld.environment.se.WeldSEBeanRegistrant@2cab9998 for [BackedAnnotatedType] public @Decora
tor class org.jboss.weld.environment.se.threading.RunnableDecorator
[2018-03-05 10:52:10.706][DEBUG][main] Bootstrap - WELD-000162: BeforeBeanDiscovery.addAnnotatedType() called by org.jboss.weld.environment.se.WeldSEBeanRegistrant@2cab9998 for [BackedAnnotatedType] public @Vetoed
@Interceptor @ActivateThreadScope @Priority class org.jboss.weld.environment.se.contexts.activators.ActivateThreadScopeInterceptor
[2018-03-05 10:52:10.706][DEBUG][main] BootstrapTracker - END bootstrap > startInitialization > BeforeBeanDiscovery (40 ms)
[2018-03-05 10:52:10.799][INFO ][ForkJoinPool.commonPool-worker-15] Bootstrap - WELD-000119: Not generating any bean definitions from org.jboss.weld.servlet.api.helpers.ForwardingServletListener because of underly
ing class loading error: Type javax.servlet.ServletContextListener not found. If this is unexpected, enable DEBUG logging to see the full error.
[2018-03-05 10:52:10.800][DEBUG][ForkJoinPool.commonPool-worker-15] Bootstrap - Catching
org.jboss.weld.resources.spi.ResourceLoadingException: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
at org.jboss.weld.environment.deployment.WeldResourceLoader.classForName(WeldResourceLoader.java:44) ~[log-reader-all-1.0.jar:?]
at org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadClass(AnnotatedTypeLoader.java:82) [log-reader-all-1.0.jar:?]
at org.jboss.weld.bootstrap.AnnotatedTypeLoader.loadAnnotatedType(AnnotatedTypeLoader.java:62) [log-reader-all-1.0.jar:?]
at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:87) [log-reader-all-1.0.jar:?]
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:55) [log-reader-all-1.0.jar:?]
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$1.doWork(ConcurrentBeanDeployer.java:52) [log-reader-all-1.0.jar:?]
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62) [log-reader-all-1.0.jar:?]
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55) [log-reader-all-1.0.jar:?]
at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:283) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1603) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) [?:?]
看起来这不是操作系统相关的问题,而是 gradle-weld 之间的更多问题:就像@siliarus 写的那样。
最佳答案
好的,
所以这里的问题在于 JAR hell ,而不仅仅是 WELD。我要做的是从头开始该项目,每次添加任何依赖于该项目的内容时,我都会创建 uber JAR。这将向我显示哪个部分问题最严重,并允许我更准确地跟踪问题。
关于带有 procrun 和 CDI/WELD 的 JAVA Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49090102/
我正在尝试从 Glassfish+Jersey+Weld 迁移到 Jetty。 我有这样的设置:gist of pom.xml, web.xml and Java launcher . 应用程序似乎可
注意:我已经尝试过类似问题的可用解决方案。 我正在使用JSF,Java 8,Tomcat 9,Maven,H2 db开发一个简单的CRUD应用程序。 当我尝试启动服务器时,发生以下异常 由以下原因
我刚刚将 Weld 从版本 2.4.4 更新到 3.0.1。我在应用程序启动时遇到以下错误,但找不到解决方案。我正在使用 Weld SE。 Sep 15, 2017 1:25:12 PM org.jb
我想使用 WELD SE 和 JEE8 (CDI 2.0) 创建 REST 资源的单元测试。 这是 REST 资源类的代码: @Path("/members") @RequestScoped publ
我正在使用 NetBeans 和 Glassfish 4.1.1 开发一个 Web 应用程序。我使用 JSF 和 CDI 来管理 Facelets 的支持 bean。由于在更改代码中的任何内容后不久,
从 JPA 2.1 开始,可以将 EJB 注入(inject)到实体监听器中。然而,WildFly 9.0.2 final 失败并出现以下异常。 15:41:12,125 ERROR [org.jbo
我使用 Weld SE 创建了一个简单的 JavaSE 应用程序。我正在尝试使用 gradle run 运行它会抛出异常: :compileJava UP-TO-DATE :processResour
我正在尝试在 DAO 类中注入(inject)一个实体管理器并使用 Weld 容器对其进行测试,但我不断收到以下异常: org.jboss.weld.exceptions.NullInstanceEx
由于某种原因,以下代码不起作用,我不明白为什么。我目前的,相当随意的,从大惊小怪的几个细微变化的信念是,因为 bean 是在 ExternalContext 之前创建的。它导致异常。但是,Extern
我有一个 Java 8 项目和一个 JBoss 7.1.0GA 服务器。我有一个带有全局变量的批处理类 @EJB public MyInterface delegate; 它在我的 ejb-jar.x
我的项目昨天运行良好。我唯一做的就是将结构从单一 war 更改为多模块 pom。如果我正确理解堆栈跟踪,则焊接和omnifaces websocket lib之间存在歧义。但是,在堆栈跟踪上似乎没有对
我按照文档(https://docs.jboss.org/weld/reference/latest/en-US/html/injection.html)创建限定符,现在我在wildfly-10.1.
我正在开发一个 JavaFX 2 项目,并且该应用程序必须使用另一个 main 方法(根据生成的 JAR list 为 com.javafx.main.Main)启动。据官方焊缝reference引导
我们有一个 Web 应用程序,目前正在使用 Java EE 7、JSF 2.2 和 Glassfish 4.0 开发。有两个特定的托管 Bean,它们具有循环依赖关系。 Usuario Control
我正在使用 Weld 来观察事件。我认为有一种方法可以指定观察者是否异步,但我没有找到该注释或文档。 观察者可以是异步的吗?如果是这样,我需要做什么才能做到这一点? 最佳答案 有一个开放请求:CDI-
我正在尝试将 war 部署到 JBoss AS 7.1.1 服务器中,但在尝试注入(inject) EntityManager 时部署失败: 17:44:48,037 ERROR [org.jboss
我尝试在 Weld 中制作装饰器,但 Weld 返回错误。我不明白我的错误是什么。我使用了相同的 Weld 示例“weld-se-numberguess”,并创建了一个装饰器扩展游戏。 Set 18
我使用 JBoss AS 7.1.1 + CDI (Weld) + JSF + Intellij IDEA。我创建了项目并下载了文件: 1. jsf-api.jar 2. jsf-impl.jar 3
我正在搭建学习 JavaEE7 中 CDI 的基础环境。我有以下用于启动 Weld 的代码。只是启动和关闭。 package com.anshbansal; import org.jboss.weld
我使用 weld se 2.0 和其他简单的依赖项构建了一个应用程序。在我的开发环境(eclipse)中这工作正常,没有错误,但是......在生产中应用程序完全崩溃并且焊接的实习生依赖部分抛出“模糊
我是一名优秀的程序员,十分优秀!