I could hardly find a great and complete tutorial on Amazon Cloud Development programmatically on Java platform. I read the Amazon EC2 Development (by Oreilly), but this book mainly uses a command line tool for development, instead of Java programming. I need a great tutorial on this topic, which explains all the cloud concepts in a descent way and provide many good example codes.
Does anyone has some views on this?
The Amazon Cloud infrastructure (EC2 and the other services) are technology agnostic which means they can be used for whichever software stack you choose to run upon them. They are not tied to Java but can clearly be used for it.
If you are looking for information on how to programmatically use EC2, e. g. how to start servers, take snapshots etc. from Java code, then the AWS Cloud Developer Tools may be the right place to start. You will find IDE plugins, documentation and different libraries there. The command line tools you mention also use these libraries to perform their tasks.
If you intend to run a Java web application on EC2 servers, Elastic Beanstalk may be of interest which provides a ready-made infrastructure into which you can deploy your .war files.