Erro “pacote javax.inject não existe” durante a compilação com o javac na linha de comando

Estou dando meus primeiros passos para aprender JSF. Eu encontrei este livro interessante chamado "Core JavaServer Faces Third Edition".

Tentando compilar o primeiro exemplo, você pode baixar o código-fonte de:http://horstmann.com/corejsf/. Quando eu digito o seguinte na linha de comando

javac UserBean.java

Eu recebo erros:

package javax.inject does not exist
package javax.enterprise.context doe not exist

Eu fiz o download do Java EE, Ant e GlassFish.

Aqui está um piscar de olhos da minha linha de comando:

C:\JSF-Tutorial\corejsf3-examples\javaee\ch01\login\src\java\com\corejsf>javac UserBean.java
UserBean.java:4: error: package javax.inject does not exist
import javax.inject.Named;
                   ^
UserBean.java:6: error: package javax.enterprise.context does not exist
import javax.enterprise.context.SessionScoped;
                               ^
UserBean.java:9: error: cannot find symbol
@Named("user") // or @ManagedBean(name="user")
 ^
  symbol: class Named
UserBean.java:10: error: cannot find symbol
@SessionScoped
 ^
  symbol: class SessionScoped
4 errors

C:\JSF-Tutorial\corejsf3-examples\javaee\ch01\login\src\java\com\corejsf>

Foi googling como compilar um aplicativo Java EE para a última semana, mas sem nada de útil.

Alguém poderia me ajudar com isso, por favor, eu preciso resolver isso para que eu possa avançar na minha tarefa de aprender JSF.

S.P: Eu quero aprender a compilar os aplicativos Java EE com as mãos nuas antes de passar a compilar meus projetos Java EE com o NetBeans. Eu prefiro aprender a trabalhar com o GlassFish primeiro, então talvez mais tarde eu considerarei o Tomcat.

Mais uma pergunta; Qual é a diferença entre usar o Java EE e o servidor GlassFish para implantar meus aplicativos?

questionAnswers(3)

yourAnswerToTheQuestion