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. 最初の 2 つの依存関係は、最後の依存関係と重複しています。Java EE には、すでにサーブレットと JSP が含まれています。
  4. WebLogic 10g は Java EE 5 実装ですが、完全に異なるバージョンである Java EE 6 API が依存関係にあります。
于 2012-10-04T07:00:32.147 に答える