Don't just ask, ask to ask
Every now and then, in online chat rooms I hang around in, someone pops in and says something in the lines of,
Foobar123:
This is bad form, for several reasons, but the primary one is that they have already prompted you with their question, which is improper and rude, especially if you are not here to answer it.
There are plenty of reasons why people who DO have the knowledge will not engage with someone that does not have basic decency of asking if such experts are around, since they will likely act superior to them.
You're asking people to take responsibility. You're questioning people's confidence in their abilities. You're also unnecessarily walling other people out. I often answer questions related to languages or libraries I have never used, because the answers are (in a programmer kind of way) common sense.
Alternatively, it can be seen as..
Foobar123:
..which is just lazy. If you're not willing to do the work to solve your problem, why should we?
The solution is not to just ask, but ask to ask. Someone who is idling on the channel and only every now and then glances what's going on is unlikely to answer to your "just asking" question, but your inquiry into people's presence in the channel may pique their interest and get them to answer.
So, to summarize, don't ask "How do I do [problem] with Java and [other relevant info]?", but rather ask "Any Java experts around?"