The most classic mistake is missing a beans.xml
Yes if you are deploying to WildFly and you don't have beans.xml in your app then the default discovery mode is annotated. See implicit bean archive section at Weld 2.3.4.Final - CDI Reference Implementation or Contexts and Dependency Injection for the Java EE platform. Another option is to put some bean defining anotation at SimpleGreetingImpl
By default the bean.xml file that created Eclipse is with annotated bean discovery mode (so this is an implicit bean archive).
But if i change to all bean-discovery-mode it will be a explicit bean archive?
I am not sure what is the difference.
Explicity needs to write the beans in the archive?
Well yes this section in the spec is really bit confusing. Implicit bean archive is considered as an archive without beans.xml and with some bean defining annotations. What matters is the difference between "annotated" and "all" bean discovery modes. If you change it to "all" then you will really have explicit bean archive but as I said in previous sentence.:-)