相关疑难解决方法(0)

Java EE Web Profile与Java EE完整平台

Java EE Web Profile认证服务器(如JOnAS)和Java EE Full Platform认证服务器(如JBoss AS)之间有什么区别?

java-ee java-ee-web-profile

61
推荐指数
3
解决办法
3万
查看次数

什么是"Java EE 7 API库"和"Java EE Web 7 API库"以及何时使用它们?

我有一个在GlassFish 4.1/Java EE 7(NetBeans 8.0.2)上运行的完整Java EE项目,不使用Apache Maven.

根据项目功能,必须将CDI依赖项添加到项目/模块(即EE模块和Web模块(以及类库,如果有)).

很长一段时间以来,我一直在混淆人们建议将"Java EE 7 API库"或"Java EE Web 7 API库"添加到编译时类路径中作为CDI依赖项(这些库捆绑在NetBeans和使用NetBeans时可以随时使用.

由于这些库包含一组API,可能是从Servlet API开始的整个Java EE堆栈,因此当CDI功能为CDI时,将其中一个库添加到编译时类路径(特别是在EE项目中)是没有意义的. Java EE应用程序中需要的.

为什么在NetBeans项目中多次建议添加其中一个库,只是cdi-api.jar因为CDI依赖性足够?

在Java EE应用程序中需要CDI功能时,我没有在此站点上找到关于在NetBeans项目中准确添加哪个库的其他地方的规范答案.cdi-api.jar顺便说一句,添加只会很好.

netbeans glassfish java-ee java-ee-7 glassfish-4.1

3
推荐指数
1
解决办法
2085
查看次数

javax:javaee-api-6.0 包含没有方法体的非抽象类

我对 Java EE 还很陌生,当我查看编译后的代码时(我找不到 javax:javaee-api-6.0 的源代码),我注意到了这个类。

package javax.servlet;

import java.util.EventObject;

public class ServletContextEvent extends EventObject
{
  public ServletContextEvent(ServletContext paramServletContext);

  public ServletContext getServletContext();
}
Run Code Online (Sandbox Code Playgroud)

但是,javax:javaee-api-7.0 中的同一个类就是这个。

package javax.servlet;

import java.util.EventObject;

public class ServletContextEvent extends EventObject
{
  private static final long serialVersionUID = -7501701636134222423L;

  public ServletContextEvent(ServletContext source)
  {
    super(source);
  }

  public ServletContext getServletContext()
  {
    return (ServletContext)super.getSource();
  }
}
Run Code Online (Sandbox Code Playgroud)

同一包中的 ServletException 也会发生这种情况(可能还有更多,因为我没有逐一介绍)。

假设 Java Decompiler 给了我源代码的样子,从纯 Java 语法的角度来看,我无法理解为什么 6.0 类不是抽象的(或者不是接口)。

问题 1. 为什么 6.0 中的类不是抽象类或接口?

问题 2. 为什么在 7.0 中更改了实现?大家有没有意识到用javaee-api编译代码时6.0版本会出问题?

我问的原因是因为在 Intellij IDEA …

java java-ee-6 java-ee-7 jakarta-ee

1
推荐指数
1
解决办法
840
查看次数