A few quick thoughts on this:

1) It is the distributions of the errors (i.e., the distributionswithineach groups) that are assumed normal, not the marginal distribution across all groups

2) Unless you have a tiny sample size and the departure from normality is very extreme, a breach of normality is unlikely to cause meaningful problems. I blogged about this recently. Normality is an assumption of these tests, but it is by far the least important of several assumptions.

3) If you are worried about non-normality, bootstrapping or permutation tests allow you to test for mean differences without changing your whole framework of inference (Note: A Wilcoxon or Kruskal-Wallis test is not a test for differences in means, or at least not unless we assume that the distributions have the same shape and spread within each sample; without that assumption these tests have quite different and counterintuitive null hypotheses).

PS. I see this is your first post.