I need to get itemName but get No value present error [solve]

version spongeforge-1.8-1568-2.1-DEV-829
this my code
> ItemStack boots = Sponge.getGame().getRegistry().
> createBuilder(ItemStack.Builder.class).
> itemType(ItemTypes.IRON_BOOTS).
> quantity(1).build();
> boots.offer(Keys.DISPLAY_NAME, Texts.of(“it a boots”));
> logger.info(boots.get(Keys.DISPLAY_NAME).get().toString());

this my error

java.util.NoSuchElementException: No value present
    at java.util.Optional.get(Optional.java:135) ~[?:1.8.0_66]
    at tw.org.anikaba.legendrecords.LegendRecords.onEnable(LegendRecords.java:53) ~[LegendRecords.class:?]
    at org.spongepowered.common.event.listener.GamePreInitializationEventListener_LegendRecords_onEnable1.handle(Unknown Source) ~[?:?]
    at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:92) ~[RegisteredListener.class:1.8-1568-2.1-DEV-829]
    at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:242) [SpongeEventManager.class:1.8-1568-2.1-DEV-829]
    at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:269) [SpongeModEventManager.class:1.8-1568-2.1-DEV-829]
    at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:144) [SpongeMod.class:1.8-1568-2.1-DEV-829]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.jar:?]
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) [LoadController.class:?]
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190) [LoadController.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.jar:?]
    at net.minecraftforge.fml.common.LoadController.onPost(LoadController.java:49) [LoadController.class:?]
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:550) [Loader.class:?]
    at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:88) [FMLServerHandler.class:?]
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:355) [FMLCommonHandler.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:117) [po.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:438) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]

Your code doesn’t check the data offered was successful, what was the output of boots.offer(..)?
It returns a DataTransationResult so you can see what happened

it was successful,but how can get the item name?

Tested on latest and didn’t get an exception:

[09:54:53] [Server thread/INFO] [spongetest]: Literal{Text{format=TextFormat{style={NONE}, color=NONE}, children=[], clickAction=Optional.empty, hoverAction=Optional.empty, shiftClickAction=Optional.empty}, content=it a boots}

could try

  if(boots.get(DisplayNameData.class).isPresent()){
  	DisplayNameData data = boots.get(DisplayNameData.class).get();
  	Text displayName = data.displayName().get();
  	logger.info(Texts.toPlain(displayName));
  }

Could you try on the latest SpongeForge?