25

別のプロジェクトで使用する CXF WS プロジェクトがあります。この WS を Web プロジェクトで使用しますが、Jar ファイルを生成する方法がわかりません。

アイデアや例を教えてください。

ありがとうございました

4

8 に答える 8

34

maven-war-plugin は、クラスのみを含む別のアーティファクトの作成をサポートしています。

http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html

「attachClasses」パラメーターを参照してください。jar プラグインを追加したり、パッケージをいじったりする必要はありません。war プラグインを pluginManagement に追加して、これをオンにするだけです。

しかし、これはあなたが望むものではないのではないかと心配しています。CXF Web サービスを使用するには、クライアントが必要です。クライアントを取得するには、CXF サンプルの手順に従って、クライアント スタブを生成および使用します。これには別の Maven プロジェクトが必要です。

于 2012-06-02T15:13:28.180 に答える
25

これをビルドセクションに追加してみてください:

<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>
于 2012-06-02T14:37:55.653 に答える
11

これは、プロパティを介してそれを達成する 1 つの方法です。デフォルトではwarファイルが生成され、jarが必要な場合はプロパティを設定するだけです。

mvn install -Dp.type=jar

pom.xml

<properties>
   <p.type>war</p.type>
</properties>
<packaging>${p.type}</packaging>
于 2014-12-26T22:35:01.797 に答える
3

戦争への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>
于 2018-12-04T21:46:35.903 に答える
2

mvn packageプロジェクトのパッケージングが 以外のものでない限りjar次に、プラグインの使用ページで説明されているように、最初の回答が示したように、jar プラグインの実行を追加する必要があります。さらに良いことに、それが jar でない場合は、2 つのモジュールに分割します。1 つは再利用可能なコードを含む jar で、もう 1 つはそれを使用するものです。

于 2012-06-02T14:57:14.103 に答える