Weld should probably log a warning and inject null instead of throwing an IllegalArgumentException. See also CDI-500.