独立于容器编译servlet - '官方'servlet-api的来源?

时间:2012-07-31 09:38:43

标签: java servlets maven

几年后我回来构建Web应用程序,并意识到我从未编译过一个servlet而不依赖于我碰巧使用的任何容器。

我当然可以继续这样做,但我仍然更喜欢某种'官方'servlet api JAR。

我在这里找到了一个:http://repo.maven.apache.org/maven2/javax/servlet/servlet-api/2.5/

但我不明白是怎么到那里的?奇怪的是,它不是以com.sun或com.oracle开头的组ID?

我能想到的唯一其他官方方法取决于Glassfish的实施?

由于

2 个答案:

答案 0 :(得分:0)

Maven上的servlet-api.jar只包含公共定义接口的接口和抽象类。那里没有方法实现,验证类和方法签名是否正确是微不足道的。这就是编译的必要条件。 (运行当然是另一回事,你需要一个servlet容器提供的实际实现)。

com.sun和com.oracle包通常包含标准API的“官方”实现,其中标准类库尚未包含它们。

tl; dr http://repo.maven.apache.org/maven2/javax/servlet/servlet-api/2.5/绝对可以用于编译。

答案 1 :(得分:0)

“javax.servlet”实际上是“Java Extensions”的官方Sun / Oracle groupId,因此是javax。 “com.sun”用于所有内部细节实现。