とマニフェストに含まれています。 耳のビルドは私の戦争のプロジェクトとはまったく別物であり、正確なマニフェストファイルを使って痩せた戦争を提供することを期待しています。耳はroot/libsフォルダに提供されたjarファイルを提供することを約束します。私が直面していますのmaven-戦争 - プラグインかlibディレクトリから提供されたjarファイルを除外することが、私は、大きな耳のファイルの後の包含のためのスキニー戦争を構築しようとしていますプレフィックスフォルダ
問題は、提供瓶のは、耳の/ libsのフォルダにあることを指定し、/ランタイムjarファイルをコンパイルするために、戦争のMANIFEST.MFファイルを取得している戦争です。 つまりMANIFEST.MFクラスパスエントリは次のようになりたい:
Class-Path: libs/commons-lang.jar commons-codec.jar
コモンズ-LANG提供し、耳のlibsディレクトリにあると期待にスコープされます。
コモンズ・コーデックは、時間をコンパイルし、戦争の一部であることが予想されます。
私はのmaven-戦争 - プラグインを探求してきましたが、それはちょうど提供の依存関係のため classpathPrefixを供給するために取得する方法を見つけ出すことはできません。
お願いします。偽-application.xmlに:
<plugin>
<!--required to fix the war's manifest and skinny the war-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<defaultLibBundleDir>lib/</defaultLibBundleDir>
<skinnyWars>true</skinnyWars>
<generateApplicationXml>true</generateApplicationXml>
<applicationXml>${project.basedir}/src/test/fake-ear/fake-application.xml</applicationXml>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals><goal>ear</goal></goals>
</execution>
</executions>
</plugin>
最終採用されたソリューション(ヒントやリンクを持つすべてのおかげで) は耳が提供する依存関係を提供し、これにスコープすることが必要、ハックに気づきました
私は、リポジトリにこの新しいスキニー戦争を展開し、そのMavenのデプロイプラグインを使用しました:
<plugin>
<!--used in release build to deploy skinny war to nexus-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<id>deploy-file</id>
<phase>install</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<!--location of the skinny war after maven-ear-plugin builds it-->
<file>${project.build.directory}/${project.artifactId}-${project.version}/${artifactid}-${project.parent.version}.war</file>
<repositoryId>releases</repositoryId>
<url>${distributionManagement.repository.url}</url>
<groupId>${project.parent.groupId}</groupId>
<artifactId>${artifactid}</artifactId>
<version>${project.parent.version}</version>
<packaging>war</packaging>
</configuration>
</execution>
</executions>
</plugin>
あなたはEARを作成するために、MavenのEARプラグインを見てみたいです。それは皮むき戦争をサポートしており、各WARのマニフェストを正しく書き換えます。http://maven.apache.org/plugins/maven-ear-plugin/examples/skinny-wars.html – Tunaki
しかし、そうでない場合は、あなたの ' '設定が機能するためには、 true addClasspath>'を参照してください。 –
Tunaki