find problem

for index in `find /root -name *.jar | grep "/lib"`; do echo "$index"; done

sometimes its throwing error saying

find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

some1 suggested me that :

Code:
for index in `find /technologies -name '*.jar' | grep "/lib"`
do
echo "$index"
done

my jar name dont have any spaces.
but still it throwing
Usage: find [-H] [-L] [-P] [path...] [expression]

wats difference between '*.jar' and only *.jar wrt find command ?

can some1 exaplin with example ?

Enclose file name between quotes :

for index in `find /root -name '*.jar' | grep "/lib"`; do echo "$index"; done

Jean-Pierre.

wats difference between them..
explain in detail with example