別のプロジェクトで使用する CXF WS プロジェクトがあります。この WS を Web プロジェクトで使用しますが、Jar ファイルを生成する方法がわかりません。
アイデアや例を教えてください。
ありがとうございました
別のプロジェクトで使用する CXF WS プロジェクトがあります。この WS を Web プロジェクトで使用しますが、Jar ファイルを生成する方法がわかりません。
アイデアや例を教えてください。
ありがとうございました
maven-war-plugin は、クラスのみを含む別のアーティファクトの作成をサポートしています。
http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html
「attachClasses」パラメーターを参照してください。jar プラグインを追加したり、パッケージをいじったりする必要はありません。war プラグインを pluginManagement に追加して、これをオンにするだけです。
しかし、これはあなたが望むものではないのではないかと心配しています。CXF Web サービスを使用するには、クライアントが必要です。クライアントを取得するには、CXF サンプルの手順に従って、クライアント スタブを生成および使用します。これには別の Maven プロジェクトが必要です。
これをビルドセクションに追加してみてください:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>make-a-jar</id>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
これは、プロパティを介してそれを達成する 1 つの方法です。デフォルトではwarファイルが生成され、jarが必要な場合はプロパティを設定するだけです。
mvn install -Dp.type=jar
pom.xml
<properties>
<p.type>war</p.type>
</properties>
<packaging>${p.type}</packaging>
戦争へのMavenプロジェクトのパッケージ化を検討する
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
次の実行を maven-install-plugin に追加します
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<packaging>jar</packaging>
<file>${project.build.directory}\${artifactId}-${version}.jar</file>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
mvn package
プロジェクトのパッケージングが 以外のものでない限りjar
。次に、プラグインの使用ページで説明されているように、最初の回答が示したように、jar プラグインの実行を追加する必要があります。さらに良いことに、それが jar でない場合は、2 つのモジュールに分割します。1 つは再利用可能なコードを含む jar で、もう 1 つはそれを使用するものです。