Aonde estão os jars do JavaSE?

Pessoal, estou tentando sintetizar o mundo Java, e pelo que entendi até agora, é possivel utilizar o Java em 3 plataformas diferentes: JavaEE, JavaSE e JavaME.

Ao instalar o tomcat, percebi que dentro do diretorio dele existe uma pasta lib que possuia entre outras as seguintes jars: “jsp-api.jar” e “servlet-api.jar”, que entendi que eram as implementações de alguma das especificações (no plural, já que parece existir uma especificação diferente para cada versão como visto em http://www.jcp.org/en/jsr/platform?listBy=3&listByType=platform). Então ao que parece, tecnologias tão comentadas como Servlet, JSP, JSF, JPA, EJB, são na verdade especificacões da plataforma JavaEE.

Bom, fazendo analogia com o tomcat, em qual pasta estariam os jars que implementam as especificações do JavaSE ? Existe alguma pasta default para elas ? E as API’s básicas do Java como a de Collection por exemplo, também fazem parte de alguma especificação ?

Obrigado !

Dentro do SDK que você deve ter baixado para rodar determinadas aplicações, entre as quais, algumas IDEs.

Dentro da pasta $JRE_HOME/lib se encontram todos os .jars e binários necessários ao JSE. O principal deles é o rt.jar (RunTime).

Os jars do Java SE estão na própria JRE que está executando o programa. Por exemplo, no caso do Java 6.0 você pode encontrá-los em (no caso do Windows):

c:\Program Files\java\jre6\lib

e são: rt.jar, charsets.jar, jce.jar, jsse.jar, javaws.jar, resources.jar, deploy.jar, management-agent.jar

Note que “jsse.jar” é uma outra coisa (não JavaSE e sim “Java Secure Socket Extension”, ou seja, a parte de SSL/HTTPS.)