hyperf / hyperf

🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
https://www.hyperf.io
MIT License
6.22k stars 1.21k forks source link

[BUG] 扫描报错,框架会继续启动 #4152

Closed tw2066 closed 5 months ago

tw2066 commented 3 years ago
php ./bin/hyperf.php start
PHP Fatal error:  Uncaught Hyperf\Di\Exception\NotFoundException: No attribute class found for 'Hyperf\XxlJob\Annotation\XxlJob3' in App\Job\DemoJobClass2 in /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/AnnotationReader.php:266
Stack trace:
#0 /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/AnnotationReader.php(211): Hyperf\Di\Annotation\AnnotationReader->getAttributes()
#1 /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/Scanner.php(70): Hyperf\Di\Annotation\AnnotationReader->getClassAnnotations()
#2 /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/Scanner.php(147): Hyperf\Di\Annotation\Scanner->collect()
#3 /mnt/d/WWW/hf20/vendor/hyperf/di/src/ClassLoader.php(52): Hyperf\Di\Annotation\Scanner->scan()
#4 /mnt/d/WWW/hf20/vendor/hyperf/di/src/ClassLoader.php(87): Hyperf\Di\ClassLoader->__construct()
#5 /mnt/d/WWW/hf20/bin/hyperf.php(19): Hyperf\Di\ClassLoader::init()
#6 /mnt/d/WWW/hf20/bin/hyperf.php(25): {closure}()
#7 {main}
  thrown in /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/AnnotationReader.php on line 266

Fatal error: Uncaught Hyperf\Di\Exception\NotFoundException: No attribute class found for 'Hyperf\XxlJob\Annotation\XxlJob3' in App\Job\DemoJobClass2 in /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/AnnotationReader.php:266
Stack trace:
#0 /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/AnnotationReader.php(211): Hyperf\Di\Annotation\AnnotationReader->getAttributes()
#1 /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/Scanner.php(70): Hyperf\Di\Annotation\AnnotationReader->getClassAnnotations()
#2 /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/Scanner.php(147): Hyperf\Di\Annotation\Scanner->collect()
#3 /mnt/d/WWW/hf20/vendor/hyperf/di/src/ClassLoader.php(52): Hyperf\Di\Annotation\Scanner->scan()
#4 /mnt/d/WWW/hf20/vendor/hyperf/di/src/ClassLoader.php(87): Hyperf\Di\ClassLoader->__construct()
#5 /mnt/d/WWW/hf20/bin/hyperf.php(19): Hyperf\Di\ClassLoader::init()
#6 /mnt/d/WWW/hf20/bin/hyperf.php(25): {closure}()
#7 {main}
  thrown in /mnt/d/WWW/hf20/vendor/hyperf/di/src/Annotation/AnnotationReader.php on line 266
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Config\Listener\RegisterPropertyHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ErrorExceptionHandler listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\XxlJob\Listener\BootAppRouteListener listener.
[INFO] Swagger Url at 0.0.0.0:9711/swagger
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ApiDocs\Listener\BootAppRouteListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\SocketIOServer\Listener\AddRouteListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ServiceGovernanceNacos\Listener\RegisterDriverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\RpcClient\Listener\AddConsumerDefinitionListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Paginator\Listener\PageResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\JsonRpc\Listener\RegisterProtocolListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ExceptionHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\DbConnection\Listener\RegisterConnectionResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ConfigCenter\Listener\BootApplicationListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Amqp\Listener\BeforeMainServerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Kafka\Listener\BeforeMainServerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\SocketIOServer\Listener\ServerIdListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Process\Listener\BootProcessListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Task\Listener\InitServerListener listener.
[DEBUG] Generate swagger.json success!
[DEBUG] swagger server:[jsonrpc-http] file has been generated
[DEBUG] Event Hyperf\DTO\Event\AfterDtoStart handled by Hyperf\ApiDocs\Listener\AfterDtoStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeServerStart handled by Hyperf\DTO\BeforeServerListener listener.
[DEBUG] Generate swagger.json success!
[DEBUG] swagger server:[http] file has been generated
[DEBUG] Event Hyperf\DTO\Event\AfterDtoStart handled by Hyperf\ApiDocs\Listener\AfterDtoStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeServerStart handled by Hyperf\DTO\BeforeServerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\FetchConfigOnBootListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Metric\Listener\OnWorkerStart listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\CreateMessageFetcherLoopListener listener.
[INFO] TaskWorker#3 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Task\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\SuperGlobals\Listener\SuperGlobalsInitializeListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\FetchConfigOnBootListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Metric\Listener\OnWorkerStart listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\CreateMessageFetcherLoopListener listener.
[DEBUG] Event Hyperf\Framework\Event\MainWorkerStart handled by Hyperf\Amqp\Listener\MainWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\MainWorkerStart handled by Hyperf\XxlJob\Listener\MainWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\FetchConfigOnBootListener listener.
[DEBUG] Event Hyperf\Framework\Event\MainWorkerStart handled by Hyperf\SocketIOServer\Listener\StartSubscriberListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Metric\Listener\OnWorkerStart listener.
[INFO] Register XXL-JOB app name [xxl-job-demo] is successful
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\CreateMessageFetcherLoopListener listener.
[DEBUG] Event Hyperf\Framework\Event\MainWorkerStart handled by Hyperf\ServiceGovernance\Listener\RegisterServiceListener listener.
[INFO] Worker#0 started.
[INFO] Worker#1 started.
[INFO] HTTP Server listening at 0.0.0.0:9587
[INFO] HTTP Server listening at 0.0.0.0:9711
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Task\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Task\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\SuperGlobals\Listener\SuperGlobalsInitializeListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\SuperGlobals\Listener\SuperGlobalsInitializeListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\FetchConfigOnBootListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Metric\Listener\OnWorkerStart listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\ConfigCenter\Listener\CreateMessageFetcherLoopListener listener.
[INFO] Worker#2 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Task\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\SuperGlobals\Listener\SuperGlobalsInitializeListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnManagerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Process\Event\BeforeProcessHandle handled by Hyperf\ConfigCenter\Listener\FetchConfigOnBootListener listener.
[DEBUG] Event Hyperf\Process\Event\BeforeProcessHandle handled by Hyperf\Server\Listener\InitProcessTitleListener listener.

Description:

框架扫描报错, 框架会继续启动 但其实是启动失败了,会照成误解以为启动成功了

希望扫描报错,终止启动 或 做启动重试不成功后终止

limingxinleo commented 3 years ago

现在是子进程扫描,确实会有这种情况

tw2066 commented 3 years ago

用swow扩展 子进程扫描 在Windows启动不了

limingxinleo commented 3 years ago

用swow扩展 子进程扫描 在Windows启动不了

是的,这个问题还没改

limingxinleo commented 5 months ago

新版本处理了