8

私のアプリケーションでは、プロジェクトの依存関係としていくつかのjarを設定しました。このjarファイルはユーザーライブラリとして追加されます。JBoss AS7でアプリケーションを実行し、JBossサーバーによって提供されるJSF実装を使用しているため、モジュールからそれらのJSF jarをコピーし、JBossJSFという新しいユーザーライブラリを作成しました。このライブラリは、EclipseでJSF2動的Webプロジェクトを作成するために使用されています。これをWARファイルとしてエクスポートすると、これらのjsf jarが自動的にコピーされ/WEB-INF/lib、warに追加されます。これらのファイルはすでにコンテナに存在しているため、追加したくありません。

それを行う方法はありますか?

詳細については、次のようになります。.classpathファイルの内容:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/common"/>
    <classpathentry kind="src" path="src/service"/>
    <classpathentry kind="src" path="src/web"/>
    <classpathentry kind="src" path="src/persistent"/>
    <classpathentry kind="src" path="src/dao"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7">
        <attributes>
            <attribute name="owner.project.facets" value="java"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JBoss JSF">
        <attributes>
            <attribute name="owner.project.facets" value="jst.jsf"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JBoss Servlet"/>
    <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JBoss log4j"/>
    <classpathentry kind="output" path="build/classes"/>
</classpath>

私のアプリケーションのデプロイメントアセンブリ: ここに画像の説明を入力してください

4

3 に答える 3

2

これを試して

  1. プロジェクトのプロパティを開く
  2. DeploymentAssemblyを選択します
  3. warファイルから除外する必要のあるライブラリを選択し、[削除]をクリックします。選択した瓶はWarファイルから削除されます

または、.classpathファイルにもう1つの属性を追加してみてください

<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JBoss JSF">

   <attributes>

    <attribute name="owner.project.facets" value="jst.jsf"/>

    <attribute name="org.eclipse.jst.component.nondependency" value=""/> 

  </attributes>

于 2012-12-19T10:44:09.213 に答える
0
  1. [プロジェクトのプロパティ]ダイアログを開きます。
  2. 左側のパネルから「Javaビルドパス」を選択します。
  3. [ソース]タブを選択します。
  4. プロジェクトに含まれるすべてのJarのリストが一覧表示されます。
  5. JARファイルを選択し、編集ボタンをクリックします。
  6. 含まれるまたは除外されるパターンウィンドウで、除外を選択し(それが必要な場合)、パターンを追加します。[OK]を選択します。
  7. 瓶の各列の右側に、それに応じてプラスまたはマイナス記号が表示されます。
于 2012-12-19T10:22:45.827 に答える
0

依存関係のスコープを提供に設定できます。JDKまたはコンテナが実行時に依存関係を提供することを期待していることを示します。たとえば、Java Enterprise Edition用のWebアプリケーションを構築する場合、サーブレットAPIおよび関連するJava EE APIへの依存関係を、提供されたスコープに設定します。これは、Webコンテナがこれらのクラスを提供するためです。このスコープは、コンパイルおよびテストクラスパスでのみ使用可能であり、推移的ではありません。このスコープの依存関係は、wars/earsには含まれません。

 <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4</version>
        <scope>provided</scope>
    </dependency>
于 2014-05-04T07:35:19.573 に答える