問題タブ [maven-source-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - mavenソースプラグインには構成が含まれています
非標準構成の Maven プロジェクトがあります。
ソースが../srcにあるこのmavenモジュールのソースjarを生成しようとしています。プラグインがパスで親フォルダーを受け入れない場合に備えて、../src へのシンボリック リンクを作成しました。そのために、次のように構成された Maven ソース プラグインを使用します。
でこのプラグインを実行します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 ベースのプロジェクトのラッパー プロジェクトです)。
eclipse - ソースを使用して 2 番目の EAR を生成する方法
複数のモジュール (ejb、jar、war) で構成されるプロジェクトがあり、「ear」タイプの pom.xml を使用してそれらをパッケージ化しています。それは完全に正常に動作し、正しいjarの/などを含むEARファイルを生成します。さらに必要なのは、含まれているモジュールのソースコードを含む2番目のEARファイルです...ソースプラグインを次のように使用しようとしましたが、生成されたEARソースは含まれていませんでした:
おかしなことに、すべてのモジュールが含まれている親の pom.xml で「インストール」を実行すると、ローカルの Maven リポジトリに %MODULE_NAME%-sources.jar ファイルが生成されます。それらをどうにかして再利用し、2 つ目の EAR にパッケージ化することはできますか?
maven - source-jar を作成するときに Maven 構造を維持する方法
プロジェクトのソースをパックするために maven-source-plugin を使用しています。通常、main/java および main/resources からすべてを 1 つのルートにまとめて取得します。
私が望むのは、プロジェクト構造を最終的な -source.jar のようsrc/main/java/**
に保持src/main/resources/**
し、テスト部分も保持することです。
インクルード構成を試してみましたが、役に立ちませんでした
私が得るエラーは
それは本当に「静的式が見つかりました」というエラーですか、それとも構成が正しくありませんか? または、これを達成する別の方法はありますか?
編集
そのため、@carlspring からのヒントのように POM を変更すると、エラーはなくなりましたが、結果として、結果の sources.jar にソース ファイルもリソース ファイルも含まれていません。
たぶん、手がかりはincludesオプションの説明にあります:
含めるファイルのリスト。コンテンツが JAR にパッケージ化される入力ディレクトリに相対的なファイルセット パターンとして指定されます。
つまり、jar-no-forkの入力ディレクトリが src/main/java| resourcesの場合、私の質問には答えられません。
java - プロジェクトにソースがありません。アーカイブが作成されていません
私はmaven-source-pluginを使ってjava-sourceを生成しています。ただし、「mvn clean ; mvn package」を実行しても、ターゲット ディレクトリに project-sources.jar は生成されません。
情報:
java - maven-source-plugin は sources.jar をビルドしますが、IDE では使用できません
生成されたソースからビルドされたMaven プロジェクトがあります。次のように構成された maven-source-plugin を使用しています。
を使用してビルドしmvn clean install -P release
ます。これにより、${artifactId}-${version}-sources.jar
すべてのソース ファイルを含むファイルが生成されますが、ソースが利用可能であることを IDE が認識しないため、明らかに正しくパッケージ化されていません。Javadoc を含め、他のすべてが正しくビルドされ、機能します。
ライブラリのメイン エントリ ポイントはnet.mintern.primitive.Primitive
. プロジェクトがビルドされると、Java ファイルが に生成されtarget/generated-sources/net/mintern/primitive/Primitive.java
ます。ただしsources.jar
、Primitive.java
(およびディレクトリ内のその他すべてprimitive
) は JAR のルートにあります。親ディレクトリ ( net/mintern/primitive
) が JAR にありません。
これは正常ですか、それとも私の問題の原因でしょうか? 私は別の を試し、の代わりに にincludes
変更し、 を明示的に追加し、 を使用し、おそらくもっと忘れていましたが、何も効果がありませんでした。Maven ソース プラグインの構成は、JAR 内のパスを微調整する方法を提供していないようです。jar
jar-no-fork
<attach>true</attach>
build-helper-maven-plugin
add-source
ここで何が起こっているのかを理解するのを手伝ってもらえますか? この依存関係を追加することで、POM にプロジェクトを含めることができます。
完全な POM はGitHubで表示できます。ビルドを試してみたい場合は、問題のあるプロジェクトを でチェックアウトしてgit clone https://github.com/mintern-java/primitive.git
からgit checkout 1.2
.
編集: maven-jar-plugin と build-helper-maven-plugin の不敬な組み合わせを使用して、問題を回避することができました。そのPOMはバージョン1.2.1です。ただし、適切な maven-source-plugin の修正にはまだ興味があります。
java - ビルドされたバージョンが -SNAPSHOT でない場合に Maven プロファイルを有効にする方法は?
gitflow-helper-maven-plugin
Maven ビルドに拡張機能を使用しようとしています。
したがって、リリース バージョンをビルドするときにいくつかの追加の手順を実行し、SNAPSHOT のコンパイル中にスキップするようにプロジェクトを構成したいと思いますが、${project.version}
含まれている場合にプロファイルを有効にする方法が見つかりません-SNAPSHOT
。
なにか提案を?
kotlin - maven-source-plugin が kotlin で機能しない
maven-source-plugin を使用して kotlin プロジェクトの source.jar を作成しようとしていますが、maven-source-plugin は kotlin プロジェクトではうまく機能しないようです。
「mvn source:jar」を実行すると、出力メッセージは常に次のようになります。
プロジェクトの私のpomファイルのmaven-source-plugin構成は次のとおりです。
私の質問は: maven-source-plugin を使用して kotlin ソースファイルを添付する方法は?
ありがとう~~