2016-08-21 33 views
2

私はMavenマルチモジュールプロジェクトを持っているので、モジュールの1つのソースコードをjarにパックして、WAR(同じモジュールか別のもの)をWEB- INF/libパス。Mavenビルドとの戦争でソースコードをjarに含める方法

はその後、私はこのように、Mavenのソースプラグインを使用しようとしました:

<plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-source-plugin</artifactId> 
     <version>3.0.1</version> 
    <configuration>  
     <attach>true</attach> 
    </configuration> 
     <executions> 
      <execution> 
      <id>attach-sources</id> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 

次に、このように、通常の依存関係として追加:

<dependency> 
    <groupId>myModuleName</groupId> 
    <artifactId>myArtifactName</artifactId> 
    <version>1.0</version> 
</dependency> 

問題は、私が実行しているとき、ということですクリーン

MVNをインストールし、簡単なコマンドラインでビルド

ソースコードでアーティファクトが見つからないという情報に誤りがあります。 Mavenは最初に依存関係を探し、後でそれを構築するように見えます。

正しく設定するにはどうすればよいですか?

+0

libフォルダに直接クラスを追加したいですか?従来の方法ではありません。 – davidxxx

+0

私はjarでクラスをパックし、WEB-INF/libフォルダ内の戦争にそれを添付したいと思います。私はこれを行ういくつかの理由があります。 – Andrew

+0

あなたのニーズは従来通りです。追加の作業なしで動作するはずです。 戦争のpom.xml、モジュールのpom親、すべてのスタックトレースを表示できますか? – davidxxx

答えて

0

warファイルへのソースパッケージは意味がありません。 maven-source-pluginを使用すると、1つのモジュールにのみ必要な場合は、jar-no-forkの方が良いでしょう...

さらに、warモジュールのクラスをlibのjarファイル最も簡単な解決策は、Mavenの戦争 - プラグインの設定を使用するフォルダ:

<configuration> 
    <attachClasses>true</attachClasses> 
    <archiveClasses>true</archiveClasses> 
</configuration> 

これはsrc/main/javaで、クラスの外にjarファイルを作成するになります。

関連する問題