如何告诉Maven 2加载Servlet 3.0 API?
我试过了:
javax.servlet
servlet-api
3.0
provided
我使用http://repository.jboss.com/maven2/但是哪个存储库是正确的?
附录:
它适用于整个Java EE 6 API的依赖项和以下设置:
java.net
http://download.java.net/maven/2
javax
javaee-api
6.0
provided
我更愿意只将Servlet API添加为依赖项,但"Brabster"可能是正确的,Java EE 6配置文件已替换了单独的依赖项.是否有来源证实了这一假设?
这似乎最近添加:
http://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.0.1/
javax.servlet
javax.servlet-api
3.0.1
provided
我更愿意只将Servlet API添加为依赖项,
说实话,我不确定为什么,但从不介意......
Brabster单独的依赖项已被Java EE 6 Profiles取代.是否有来源证实了这一假设?
来自Java.net的maven存储库确实为WebProfile提供了以下工件:
java.net2
Repository hosting the jee6 artifacts
http://download.java.net/maven/2
javax
javaee-web-api
6.0
provided
这个jar包括Servlet 3.0,EJB Lite 3.1,JPA 2.0,JSP 2.2,EL 1.2,JSTL 1.2,JSF 2.0,JTA 1.1,JSR-45,JSR-250.
但据我所知,没有什么可以说这些API不会单独分发(在java.net资源库或其他地方).例如(好吧,它可能是一个特例),JSF 2.0 API是单独提供的(在java.net存储库中):
com.sun.faces
jsf-api
2.0.0-b10
provided
实际上,您可以javax.servlet-3.0.jar
从那里获得并将其安装在您自己的存储库中.
或者您可以将Central Maven Repository与Servlet 3.0 API一起使用,该API也是为Tomcat Server 7.0.X提供的
org.apache.tomcat
tomcat-servlet-api
7.0.21
provided
从这里:http://repo2.maven.org/maven2/org/apache/tomcat/tomcat-servlet-api/7.0.21/
不幸的是,将javaee-(web)-api作为依赖项添加并不会为您提供Javadoc或Servlet Api的源代码来从IDE中浏览它们.所有其他依赖项(JPA,EJB,...)也是如此.如果需要Servlet API源/ javadoc,可以将以下内容添加到pom.xml中(至少适用于JBoss和Glassfish):
库:
jboss-public-repository-group
JBoss Public Repository Group
https://repository.jboss.org/nexus/content/groups/public/
相关性:
org.jboss.spec.javax.servlet
jboss-servlet-api_3.0_spec
1.0.0.Beta2
provided
我完全从我的依赖项中删除了javaee-api,并将其替换为离散部分(javax.ejb,javax.faces,...),以获取Java EE 6所有部分的源代码和Javadoc.
编辑:
这是相同的Glassfish依赖项(尽管两个依赖项都应该有效,无论您使用哪个appserver).
org.glassfish
javax.servlet
3.0
provided
这是我使用的.所有这些都在中央,并有来源.
对于Tomcat 7(Java 7,Servlet 3.0)
注 - Tomcat中提供了Servlet,JSP和EL API.只有JSTL(如果使用)需要与Web应用程序捆绑在一起.
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet.jsp
jsp-api
2.2
provided
javax.el
javax.el-api
2.2.4
provided
javax.servlet
jstl
1.2
对于Tomcat 8(Java 8,Servlet 3.1)
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.0
provided
javax.el
javax.el-api
3.0.0
provided
javax.servlet
jstl
1.2
Apache Geronimo项目在Maven Central存储库上提供了Servlet 3.0 API依赖:
org.apache.geronimo.specs
geronimo-servlet_3.0_spec
1.0