You should put your ejb.jar file in the jboss\deploy
then you should also put your ejb.jar file in the
tomcat\app\WEB-INF\lib directory so the servlet knows about it.
You also need to post the errors so people can figure out without guessing. Scroll to the top and get the first exception that happens when jboss/tomcat startup. This is necessary to answer any questions.
The problem that I found is that if the jar that is under jre/lib/ext contains the ejb-jar.xml file under the META-INF directory, then jboss will try to deploy from that directory. So, the sollution that I found was to make two jar files one with the META-INF directory for jboss's deploy and another jar file that doesn't have META-INF and put that under jre/lib/ext. If you do this jboss should be happy and you should be able to compile your servlets. The other sollution is to manually specify all of the jar files in the classpath when you are compiling servlets and don't have them under jre/lib/ext.
Why are you (or anyone) putting application archives into the runtime library extention directory?
I am putting application archives into the runtime library extention directory so that JSP's can compile successfully
The reason for doing this is so that the remote and home interfaces are defined for the servlet and jsp compilation Putting it under the runtime library extention directory is a whole lot easier than specifying a classpath to load all of the jar files. And in my case I have over 50 beans to deal with and it is just a headache to maintain the classpath.