0

Eclipse Workspaceには、jarを生成するAと戦争を生成するBの2つのMavenプロジェクトがあります。ABの依存関係であり、そのため、BのPOMにあります。

私の問題は、TomcatサーバーをBで実行すると、 Aが/lib/の.jarにデプロイされないことです。

奇妙なことに、AはBのMaven依存関係に、jarではなくフォルダーとして表示されます。これは何らかの形で異常ですか?もしそうなら、どうすればそれを修正できますか?

これが問題ではない場合は、Tomcatが原因である可能性があります。この依存関係スキーマ(依存関係がフォルダーとして表示される)に対応するように構成する必要がありますか?

ありがとう!

-

編集: Bの.warファイルを手動でエクスポートした後、 Aが空の.earファイルとして/lib/に配置されていることを発見しました。

これは、フォルダーとして表示された依存関係のスクリーンショットです。ここに画像の説明を入力してください

AのPOMの関連部分は次のとおりです。

<groupId>br.com.reglare</groupId>
<artifactId>rule-model</artifactId>
<packaging>jar</packaging>
<version>1.8</version>

そしてB:

<dependency>
    <groupId>br.com.reglare</groupId>
    <artifactId>rule-model</artifactId>
    <version>1.8</version>
</dependency>

@urir:はい、Aで定義されたクラスが見つかりません:http://990fca173882239e.paste.se/

4

2 に答える 2

0

Assuming you are using m2e in eclipse to manage the webapp, you need to install m2e-wtp. You should also be able to find it within eclipse in the marketplace. It takes care of making sure that when you launch a maven web project through eclipse it gets all the dependencies in the right place. Once you install the plugin, you may want to delete your project and import it again as an "existing maven project" then the plugin will get it all setup correctly. Applying it after-the-fact has been iffy for me.

于 2012-10-11T15:30:44.270 に答える
0

依存関係は、次の形式で pom に定義する必要があります。

    <dependency>  
        <groupId>xmlbeans</groupId>  
        <artifactId>xmlpublic</artifactId>  
        <version>2.2.0</version>  
    </dependency>

また、依存関係ツリーを表示するには、次のように「dependency:tree」ディレクティブを使用します。

mvn clean compile dependency:tree

依存関係がまだ war の WEB-INF/lib フォルダーにない場合は、デバッグ フラグを指定してコンパイルを実行し、エラーを探します。

mvn -X clean compile
于 2012-10-11T14:17:11.770 に答える