...
I use @Inject on a field to inject a service, but the field is still null, what happened?
This can happend happen when you use the wrong @Inject annotation; for example, com.google.inject.Inject instead of org.apache.tapestry5.ioc.annotations.Inject. This may happen can occur when you have TestNG on the classpath, for example, and your IDE is too helpful. Double check your imports when things seem weird.
...