非標準構成の Maven プロジェクトがあります。
$> tree
.
├── pom.xml
├── symbolic-link-to-sources -> ../src
└── target
├── maven-archiver
│ └── pom.properties
├── project-1.0-SNAPSHOT-sources.jar
├── project-1.0-SNAPSHOT.jar
└── surefire
ソースが../srcにあるこのmavenモジュールのソースjarを生成しようとしています。プラグインがパスで親フォルダーを受け入れない場合に備えて、../src へのシンボリック リンクを作成しました。そのために、次のように構成された Maven ソース プラグインを使用します。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<includePom>true</includePom>
<includes>
<include>symbolic-link-to-sources/**</include>
</includes>
</configuration>
</plugin>
でこのプラグインを実行しますmvn source:jar
。残念ながら、ソース jar には pom.xml しかありません。includePom を false に設定すると、プラグインはソース アーカイブを作成しません。
私は多くのことを試しました<include>
: ../src
, ../src/**
, ../**
, symbolic-link-to-sources
,どれもソースをソースjarに入れませんsymbolic-link-to-sources/**
。それに関するドキュメントには、相対的なファイルセットパターンと書かれて../**/*.java
いますが。
../src フォルダーの Java ファイルのコンテンツをソース jar に取得する方法はありますか?
(はい、私のシンボリック リンクは壊れていません。標準のフォルダー階層を持つようにモジュールを再配置する方法はありません。これは、ant ベースのプロジェクトのラッパー プロジェクトです)。