Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Servlet3.0API的Maven依赖关系?_Java_Maven 2_Servlets_Jakarta Ee - Fatal编程技术网

Java Servlet3.0API的Maven依赖关系?

Java Servlet3.0API的Maven依赖关系?,java,maven-2,servlets,jakarta-ee,Java,Maven 2,Servlets,Jakarta Ee,我如何告诉Maven 2加载Servlet 3.0 API 我试过: javax.servlet 但什么存储库才是正确的呢 附录: 它与整个Java EE 6 API的依赖项以及以下设置一起工作: java.net http://download.java.net/maven/2 爪哇 JavaEEAPI 6 假如 我更愿意只添加ServletAPI作为依赖项,但是“Brabster”可能是正确的,独立的依赖项已经被JavaEE6概要文件所取代。是否有来源证实了这一假设?我找到了一个9月份

我如何告诉Maven 2加载Servlet 3.0 API

我试过:


javax.servlet
但什么存储库才是正确的呢

附录:

它与整个Java EE 6 API的依赖项以及以下设置一起工作:


java.net
http://download.java.net/maven/2
爪哇
JavaEEAPI
6
假如

我更愿意只添加ServletAPI作为依赖项,但是“Brabster”可能是正确的,独立的依赖项已经被JavaEE6概要文件所取代。是否有来源证实了这一假设?

我找到了一个9月份的POM示例

建议您使用java.net repo,网址为

其中包含Java EE API,例如POM,它们看起来可能就是您想要的,例如:


爪哇
javaeewebapi
6
我猜API的版本约定已经改变,以匹配整个EE规范的版本(即JavaEE6与Servlets3.0),作为新“概要文件”的一部分。从罐子里看,所有的3.0servlet都在里面。享受吧

我只希望添加Servlet API作为依赖项

老实说,我不知道为什么,但没关系

独立的依赖项已被JavaEE6概要文件所取代。是否有来源证实这一假设

来自Java.net的maven repository确实为WebProfile提供了以下工件:


java.net2
托管jee6工件的存储库
http://download.java.net/maven/2
爪哇

不幸的是,将javaee-(web)-api作为依赖项添加到Servlet-api中并不能使您获得Javadoc或Servlet-api的源代码来从IDE中浏览它们。所有其他依赖项(JPA、EJB等)也是如此 如果您需要Servlet API sources/javadoc,可以将以下内容添加到pom.xml中(至少适用于JBoss和Glassfish):

存储库:


jboss公共存储库组
JBoss公共存储库组
https://repository.jboss.org/nexus/content/groups/public/
依赖关系:


org.jboss.spec.javax.servlet
jboss-servlet-api_3.0_规范
1.0.0.Beta2
假如
我从依赖项中完全删除了JavaEEAPI,并将其替换为离散部分(javax.ejb、javax.faces等),以获得JavaEE6所有部分的源代码和Javadoc

编辑:

这里是等效的Glassfish依赖项(尽管无论使用什么appserver,这两个依赖项都应该工作)


玻璃鱼
javax.servlet
3
假如

Apache Geronimo项目在Maven Central repo上提供了Servlet 3.0 API依赖关系:


org.apache.geronimo.specs
geronimo-servlet_3.0_规范
1
下面演示了一种包含JavaEE6依赖项的方便方法(建议使用JBoss)。因此,依赖项被分开放置(不像JavaEEWebAPI那样全部放在一个jar中),可以从maven存储库下载库的源文件和Javadoc


2.0.0.1决赛
org.jboss.spec
jboss-javaee-web-6.0
${jboss.javaee6.spec.version}
假如
聚甲醛
要仅包括单个依赖项,可以使用
依赖项管理
部分和范围
导入


org.jboss.spec
jboss-javaee6-specs-bom
${jboss.javaee6.spec.version}
聚甲醛
进口
org.jboss.spec.javax.servlet
jboss-servlet-api_3.0_规范

或者您可以将中央Maven存储库与Servlet 3.0 API一起使用,Servlet 3.0 API也是为Tomcat服务器7.0.X提供的


org.apache.tomcat

这似乎是最近增加的:


javax.servlet
javax.servlet-api
3.0.1
假如

以下是我使用的。所有这些都在中央,都有来源

对于Tomcat7(Java7,Servlet3.0)

注意-Servlet、JSP和EL API在Tomcat中提供。只有JSTL(如果使用)需要与web应用捆绑在一起


javax.servlet
javax.servlet-api
3.0.1
假如
javax.servlet.jsp
jsp api
2.2
假如
javax.el
javax.el-api
2.2.4
假如
javax.servlet
jstl
1.2
对于Tomcat8(Java8,Servlet3.1)


javax.servlet
javax.servlet-api
3.1.0
假如
javax.servlet.jsp
javax.servlet.jsp-api
2.3.0
假如
javax.el
javax.el-api
3.0.0
假如
javax.servlet
jstl
1.2
试试这段代码

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.0-alpha-1</version>
    </dependency>

javax.servlet
servlet api
3.0-α-1
仅适用于新来者

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

javax.servlet
javax.servlet-api
3.1.0
假如

放置此依赖项,不要忘记选择:包含具有“提供”范围的依赖项


javax.servlet
javax.servlet-api
3.0.1
假如

谢谢,它很管用!剩下的唯一问题是,JavaEE6概要文件是否取代了单独的lib。(参见我问题中的附录)如果你依赖于此,你就不能进行可移植的war(一种在JBoss、Tomcat、Jetty上工作的war),因为对于Tomcat/Jetty,你需要将部分提供的依赖项(servlet)和部分未提供的依赖项(cdi)放在一起,这是不可能的。这是可行的,而且似乎是最简单的方法,谢谢!顺便说一句,ApacheGeronimo提供了更多:在java.net/maven/2存储库中没有源代码,也没有javadocs。甲骨文,去死吧!使用javaee Api而不是servlet Api不会提供相同版本的javax.servlet.ServletContext。我是你
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>