2

我正在WebLogic 10g 上开发一个简单的 Web 应用程序(或者实际上遵循Java EE 5 教程)。

该应用程序非常简单,只是它是为 GlassFish 设计的。它由一个连接到 EJB 的简单 JSP 页面(查看上面的链接)组成。但是,我收到以下错误,我无法为项目解析正确的库。

weblogic.application.WrappedDeploymentException:类文件 javax/servlet/jsp/jstl/core/ConditionalTagSupport 中非本机或抽象方法中的缺失代码属性

我的 Maven pom 文件包含以下依赖项,这些 EJB 的客户端 jar 除外

   <dependency>
        <groupId>javax.servlet.jsp.jstl</groupId>
        <artifactId>jstl-api</artifactId>
        <version>1.2</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
    </dependency>
4

1 回答 1

1

看起来您实际上是在部署这些工件,这是主要问题。

但是,总共有几个问题:

  1. 如前所述,它们不应该被部署,因为 WebLogic 10g 已经实现了它们。在 Maven 中,您应该使用提供的范围 ( <scope>provided</scope>)
  2. javaee-api工件被剥离了所有代码。即使 WebLogic 没有实现该 API,您也无法部署它。这就是为什么您得到的异常表明给定类中没有可用的代码。
  3. 前两个依赖项与最后一个依赖项重叠。Java EE 已经包含 Servlet 和 JSP。
  4. WebLogic 10g 是一个 Java EE 5 实现,但是您有一个 Java EE 6 API 作为依赖项,这是一个完全不同的版本。
于 2012-10-04T07:00:32.147 回答