Could not parse mapping document from file

本文分析了一个关于Hibernate在解析映射文件时遇到的问题,错误源自持久化类的一个属性定义不匹配,具体为使用了基本类型int而非Integer,导致字段无法找到。通过检查持久化类及其映射文件,调整属性类型,最终解决了ExceptionInInitializerError异常。
java.lang.ExceptionInInitializerError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:202)
	at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:251)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:248)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/applicationContext-db.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from file E:\workspace\webworkspace\movetest\WebRoot\WEB-INF\classes\com\itjb\movie\domain\Movie.hbm.xml
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:546)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
	at com.itjb.movie.test.SpringUtils.<clinit>(SpringUtils.java:9)
	... 22 more
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from file E:\workspace\webworkspace\movetest\WebRoot\WEB-INF\classes\com\itjb\movie\domain\Movie.hbm.xml
	at org.hibernate.cfg.Configuration.addFile(Configuration.java:406)
	at org.hibernate.cfg.Configuration.addDirectory(Configuration.java:764)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:710)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
	... 34 more
Caused by: org.hibernate.PropertyNotFoundException: field [classify] not found on com.itjb.movie.domain.Movie
	at org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:182)
	at org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:174)
	at org.hibernate.property.DirectPropertyAccessor.getGetter(DirectPropertyAccessor.java:197)
	at org.hibernate.util.ReflectHelper.getter(ReflectHelper.java:241)
	at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:229)
	at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:301)
	at org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2267)
	at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2244)
	at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2134)
	at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:407)
	at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:321)
	at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:172)
	at org.hibernate.cfg.Configuration.add(Configuration.java:771)
	at org.hibernate.cfg.Configuration.addFile(Configuration.java:396)
	... 39 more

  

问题:

持久化类中使用int 没有使用Interger.

持久化类多添加一个属性.

转载于:https://www.cnblogs.com/FiyKt/p/4587531.html

Traceback (most recent call last): File "D:\pycharm\ultralyticsy+siou\train.py", line 9, in <module> model = YOLO('ultralytics-main/ultralytics/cfg/models/v8/yolov8-ovum.yaml') File "D:\miniconda3\envs\yolov8\lib\site-packages\ultralytics\yolo\engine\model.py", line 105, in __init__ self._new(model, task) File "D:\miniconda3\envs\yolov8\lib\site-packages\ultralytics\yolo\engine\model.py", line 135, in _new cfg_dict = yaml_model_load(cfg) File "D:\miniconda3\envs\yolov8\lib\site-packages\ultralytics\nn\tasks.py", line 691, in yaml_model_load d = yaml_load(yaml_file) # model dict File "D:\miniconda3\envs\yolov8\lib\site-packages\ultralytics\yolo\utils\__init__.py", line 302, in yaml_load return {**yaml.safe_load(s), 'yaml_file': str(file)} if append_filename else yaml.safe_load(s) File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\__init__.py", line 125, in safe_load return load(stream, SafeLoader) File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\__init__.py", line 81, in load return loader.get_single_data() File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\constructor.py", line 49, in get_single_data node = self.get_single_node() File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\composer.py", line 36, in get_single_node document = self.compose_document() File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\composer.py", line 55, in compose_document node = self.compose_node(None, None) File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\composer.py", line 133, in compose_mapping_node item_value = self.compose_node(node, item_key) File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\composer.py", line 82, in compose_node node = self.compose_sequence_node(anchor) File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\composer.py", line 110, in compose_sequence_node while not self.check_event(SequenceEndEvent): File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\parser.py", line 98, in check_event self.current_event = self.state() File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\parser.py", line 382, in parse_block_sequence_entry if self.check_token(BlockEntryToken): File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\scanner.py", line 116, in check_token self.fetch_more_tokens() File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\scanner.py", line 162, in fetch_more_tokens self.stale_possible_simple_keys() File "D:\miniconda3\envs\yolov8\lib\site-packages\yaml\scanner.py", line 291, in stale_possible_simple_keys raise ScannerError("while scanning a simple key", key.mark, yaml.scanner.ScannerError: while scanning a simple key in "<unicode string>", line 48, column 3: [[18, 21, 24], 1, Detect, [nc]] ... ^ could not find expected ':' in "<unicode string>", line 63, column 1: ^
最新发布
12-18
3 main(opt) 4 File ".\train.py", line 529, in main 5 train(opt.hyp, opt, device, callbacks) 6 File ".\train.py", line 112, in train 7 data_dict = data_dict or check_dataset(data) # check if None 8 File "F:\yolov5\yolov5-master\utils\general.py", line 518, in check_dataset 9 data = yaml_load(data) # dictionary 10 File "F:\yolov5\yolov5-master\utils\general.py", line 603, in yaml_load 11 return yaml.safe_load(f) 12 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\__init__.py", line 125, in safe_load 13 return load(stream, SafeLoader) 14 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\__init__.py", line 81, in load 15 return loader.get_single_data() 16 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\constructor.py", line 49, in get_single_data 17 node = self.get_single_node() 18 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\composer.py", line 36, in get_single_node 19 document = self.compose_document() 20 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\composer.py", line 55, in compose_document 21 node = self.compose_node(None, None) 22 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\composer.py", line 84, in compose_node 23 node = self.compose_mapping_node(anchor) 24 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\composer.py", line 127, in compose_mapping_node 25 while not self.check_event(MappingEndEvent): 26 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\parser.py", line 98, in check_event 27 self.current_event = self.state() 28 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\parser.py", line 428, in parse_block_mapping_key 29 if self.check_token(KeyToken): 30 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\scanner.py", line 115, in check_token 31 while self.need_more_tokens(): 32 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\scanner.py", line 152, in need_more_tokens 33 self.stale_possible_simple_keys() 34 File "D:\minconda\envs\demo_py3.8\lib\site-packages\yaml\scanner.py", line 291, in stale_possible_simple_keys 35 raise ScannerError("while scanning a simple key", key.mark, 36 yaml.scanner.ScannerError: while scanning a simple key 37 in ".\data\coco_chv.yaml", line 18, column 1 38 could not find expected ':' 39 in ".\data\coco_chv.yaml", line 22, column 1
06-12
PS C:\源码\金柚项目\ultralytics-main> & C:/YOLOv8py38/python.exe c:/源码/金柚项目/ultralytics-main/ultralytics-main/yolo_train.py c:/源码/金柚项目/ultralytics-main/ultralytics-main/yolo_train.py:5: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature. model = torch.load('yolov8n.pt', map_location='cpu') 模型加载成功! Transferred 355/355 items from pretrained weights New https://pypi.org/project/ultralytics/8.3.221 available Update with 'pip install -U ultralytics' Ultralytics 8.3.217 Python-3.8.15 torch-2.4.1+cpu CPU (AMD Ryzen 7 7840HS with Radeon 780M Graphics) engine\trainer: agnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=16, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, compile=False, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=safehat.yaml, degrees=0.0, deterministic=True, device=cpu, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=100, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.01, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolov8n.yaml, momentum=0.937, mosaic=1.0, multi_scale=False, name=train2, nbs=64, nms=False, opset=None, optimize=False, optimizer=auto, overlap_mask=True, patience=100, perspective=0.0, plots=True, pose=12.0, pretrained=yolov8n.pt, profile=False, project=None, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=C:\\\ultralytics-main\runs\detect\train2, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None Traceback (most recent call last): File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\utils\__init__.py", line 606, in load data = instance.yaml.load(s, Loader=instance.SafeLoader) or {} File "C:\YOLOv8py38\lib\site-packages\yaml\__init__.py", line 81, in load return loader.get_single_data() File "C:\YOLOv8py38\lib\site-packages\yaml\constructor.py", line 49, in get_single_data node = self.get_single_node() File "yaml/_yaml.pyx", line 674, in yaml._yaml.CParser.get_single_node File "yaml/_yaml.pyx", line 688, in yaml._yaml.CParser._compose_document File "yaml/_yaml.pyx", line 732, in yaml._yaml.CParser._compose_node File "yaml/_yaml.pyx", line 848, in yaml._yaml.CParser._compose_mapping_node File "yaml/_yaml.pyx", line 861, in yaml._yaml.CParser._parse_next_event yaml.scanner.ScannerError: while scanning a simple key in "<unicode string>", line 3, column 1 could not find expected ':' in "<unicode string>", line 4, column 1 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\engine\trainer.py", line 645, in get_dataset data = check_det_dataset(self.args.data) File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\data\utils.py", line 416, in check_det_dataset data = YAML.load(file, append_filename=True) # dictionary File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\utils\__init__.py", line 610, in load data = instance.yaml.load(s, Loader=instance.SafeLoader) or {} File "C:\YOLOv8py38\lib\site-packages\yaml\__init__.py", line 81, in load return loader.get_single_data() File "C:\YOLOv8py38\lib\site-packages\yaml\constructor.py", line 49, in get_single_data node = self.get_single_node() File "yaml/_yaml.pyx", line 674, in yaml._yaml.CParser.get_single_node File "yaml/_yaml.pyx", line 688, in yaml._yaml.CParser._compose_document File "yaml/_yaml.pyx", line 732, in yaml._yaml.CParser._compose_node File "yaml/_yaml.pyx", line 848, in yaml._yaml.CParser._compose_mapping_node File "yaml/_yaml.pyx", line 861, in yaml._yaml.CParser._parse_next_event yaml.scanner.ScannerError: while scanning a simple key in "<unicode string>", line 3, column 1 could not find expected ':' in "<unicode string>", line 4, column 1 The above exception was the direct cause of the following exception: Traceback (most recent call last): File "c:/源码/金柚项目/ultralytics-main/ultralytics-main/yolo_train.py", line 24, in <module> results = model.train(data="safehat.yaml", epochs=100, imgsz=640) File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\engine\model.py", line 795, in train self.trainer = (trainer or self._smart_load("trainer"))(overrides=args, _callbacks=self.callbacks) File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\models\yolo\detect\train.py", line 65, in __init__ super().__init__(cfg, overrides, _callbacks) File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\engine\trainer.py", line 158, in __init__ self.data = self.get_dataset() File "c:\源码\金柚项目\ultralytics-main\ultralytics-main\ultralytics\engine\trainer.py", line 649, in get_dataset raise RuntimeError(emojis(f"Dataset '{clean_url(self.args.data)}' error ❌ {e}")) from e RuntimeError: Dataset 'safehat.yaml' error while scanning a simple key in "<unicode string>", line 3, column 1 could not find expected ':' in "<unicode string>", line 4, column 1
10-27
train: weights=yolov5s.pt, cfg=, data=data/mouse.yaml, hyp=data\hyps\hyp.scratch-low.yaml, epochs=100, batch_size=1, imgsz=640, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, noplots=False, evolve=None, evolve_population=data\hyps, resume_evolve=None, bucket=, cache=None, image_weights=False, device=cpu, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=8, project=runs\train, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[0], save_period=-1, seed=0, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest, ndjson_console=False, ndjson_file=False github: skipping check (offline), for updates see https://github.com/ultralytics/yolov5 git: '(3)\yolov5' is not a git command. See 'git --help'. YOLOv5 2025-10-28 Python-3.8.20 torch-1.8.0 CPU hyperparameters: lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.5, cls_pw=1.0, obj=1.0, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0 Comet: run 'pip install comet_ml' to automatically track and visualize YOLOv5 runs in Comet TensorBoard: Start with 'tensorboard --logdir runs\train', view at http://localhost:6006/ Traceback (most recent call last): File "train.py", line 986, in <module> main(opt) File "train.py", line 688, in main train(opt.hyp, opt, device, callbacks) File "train.py", line 203, in train data_dict = data_dict or check_dataset(data) # check if None File "C:\Users\23827\Desktop\新建文件夹 (3)\yolov5\utils\general.py", line 533, in check_dataset data = yaml_load(data) # dictionary File "C:\Users\23827\Desktop\新建文件夹 (3)\yolov5\utils\general.py", line 618, in yaml_load return yaml.safe_load(f) File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\__init__.py", line 125, in safe_load return load(stream, SafeLoader) File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\__init__.py", line 81, in load return loader.get_single_data() File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\constructor.py", line 49, in get_single_data node = self.get_single_node() File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\composer.py", line 36, in get_single_node document = self.compose_document() File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\composer.py", line 55, in compose_document node = self.compose_node(None, None) File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\composer.py", line 127, in compose_mapping_node while not self.check_event(MappingEndEvent): File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\parser.py", line 98, in check_event self.current_event = self.state() File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\parser.py", line 428, in parse_block_mapping_key if self.check_token(KeyToken): File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\scanner.py", line 115, in check_token while self.need_more_tokens(): File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\scanner.py", line 152, in need_more_tokens self.stale_possible_simple_keys() File "C:\ProgramData\anaconda3\envs\yolov5\lib\site-packages\yaml\scanner.py", line 291, in stale_possible_simple_keys raise ScannerError("while scanning a simple key", key.mark, yaml.scanner.ScannerError: while scanning a simple key in "data/mouse.yaml", line 5, column 1 could not find expected ':' in "data/mouse.yaml", line 7, column 1
11-04
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值