問題タブ [maven-ant-tasks]
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-2 - Maven ant タスクを使用する場合は、javadoc とソースのダウンロードを避ける
私は Maven Ant Tasks サポートで開発しています。リポジトリに必要なライブラリのダウンロードを依頼すると、各ライブラリの javadoc とソースもダウンロードされます。ライブラリ jar のみをダウンロードする方法はありますか?
実際の build.xml:
maven-2 - Mavenantタスクを使用してjarをローカルリポジトリにインストールする
私のantビルドIDの最後に、コマンドライン呼び出しと同等のものを呼び出します。
新しく構築されたjarを、別のプロジェクトが依存するMavenリポジトリに追加するようにします。
私はmaven-ant-taskを使用してみましたが、maven-ant-task jarをantビルドプロジェクトに追加し、次のコードをbuild.xmlに追加しました。
しかし、それは私にはうまくいかないので、何かが欠けているようです。まず、build.xml(antビルドファイル)に次のようなエラーが表示されます
要素「artifact:pom」のプレフィックス「artifact」はバインドされていません。
私は何を間違っているのですか。私はアリにかなり慣れていませんか?
実際の質問では、関連するPOMファイルの目的は何ですか?このプロジェクトはAntビルドであるため、通常はPOMを使用しません。
maven-3 - アーティファクト:インストールは、私が定義したPOMの代わりにスーパーpomをプッシュします
Antファイルで定義されたPOMがあり、ビルドは正しく機能し、リポジトリから正しいアーティファクトをプルしますが、artifact:installタスクは指定したpomではなく「super-pom」にプッシュします
次のPOMファイルを使用します
呼び出すant build
とJARファイルが正しくビルドされるため、POMはAntスクリプトによって正しくセットアップされています(少なくとも依存関係の観点から)。
ただし、呼び出すant install
と、JARがsuper-pomバージョン1.0としてローカルリポジトリにインストールされます。フルバージョン(1.0、SNAPSHOTなし)がリポジトリにすでに存在し、SNAPSHOTバージョンのみを上書きできるため、2回目のインストールは失敗します。
POMにgroupId/ArtifactId/versionを設定しました。なぜ彼らは拾われていないのですか?インストールタスクでこれらを再度設定しようとしましたが(タスクに文書化されていない属性があった可能性があると考えています)、このタスクはこれらの属性を受け入れません。
実際、インストール前に正しい値が表示されるため、POMはそれがgroupId / ArtifactId / versionであることを認識しますが、これらの設定を使用したインストールは失敗します。
ところで、助けになる場合は、2.1.1 maven-ant-tasks JARファイルを使用していますが、インストールしたMavenバージョンは3.0.2です(タスクがMaven Jarsを外部呼び出しするかどうか、または機能はAntタスクJarの内部にあります)。
PS。依存関係を外部POMファイルに配置しようとしましたが、これは機能しているようpom.xml
です。依存関係とgroupId / ArtifactId / version(上記で定義したメモリ内pomと同じ)のみが含まれ、artifact:pomは次のように変更されます。
他に何も変更はありませんが、ant install
正しく動作するようになりました。これはMaven-ant-tasksのバグですか、それとも私が見逃しているものがありますか?
私が現在作業している場所ではAntを使用しており、ビルドプロセスの一部として管理するファイルを増やすことは避けたいと考えています。必要な場合はそうしますが、避けたいです!
ant - Maven Ant タスク: ターゲット ファイル名が不明なアーティファクト (artifact:install) をインストールする
私の Ant スクリプトでは、Maven Ant タスクを使用して、次のようにアーティファクトをローカル リポジトリにインストールしています。
このアプローチで気に入らないのは、インストールする Jar の名前を明示的に定義する必要があることです。target/myproject-1.0.jar
しかし、その Jar の名前が変更された場合はどうなりますか? より一般的なアプローチが必要です。Maven Ant タスクに、コマンドラインの同じディレクトリで実行するときに Maven もインストールするすべてのアーティファクトをインストールさせるにはどうすればよいですかmvn clean install
(どの Jar をインストールするかを指定する必要はありません)。
(はい、Maven を<exec executable="mvn" ...>
で呼び出すこともできますが、これには Maven Ant Tasks を使用する方がクリーンだと思います)
ant - maven-antrun-plugin で作成された zip ファイルをデプロイするにはどうすればよいですか?
私は maven-antrun-plugin を使用して Ant で一連の作業を行い、最終的には zip ファイルになります。zip ファイルを Maven サーバー (Artifactory) にデプロイしたいと考えています。maven-antrun-portion は意図したとおりに機能し、zip ファイルを正常に作成します。ただし、展開は次のエラー メッセージで失敗します。
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy (default-deploy) on project projectname: The packaging for this project did not assign a file to the build artifact
私のPOMファイルは次のとおりです。
これを (親 POM から) 呼び出すとmvn -U -pl projectname clean deploy
、デプロイ フェーズ中に前述のエラーが発生します。私が間違っていること、またはこれを修正する方法を誰かが知っていますか?
maven-ant-tasks - MAVEN ANT ビルド エラー
私のシステム構成は
クラスを Java 1.4.2_04 バージョンでコンパイルしたい
maven-antrun-plugin 1.6 を使用しています
私のモジュールPOM.XMlの次のエントリ
maven-2 - maven-antrun-plugin 1.6 は Java 1.4.2 バージョンでクラスをコンパイルしたい
クラスを生成し、JDKのtools.jarでコンパイルするant build.xmlを使用しています。
MAVEN 2.2.1 バージョンを使用しています。MAVEN を実行するための JDK 1.5。Maven 2.2.1 バージョンは JDK 1.5 以降のみをサポートするため、それを使用する必要があります。
この maven-antrun-plugin では、コンパイラのソース バージョンもターゲット バージョンも指定できません。そのため、生成されたクラスは、現在実行中の JDK である JVM に対してコンパイルされ、その rt.jar およびプラグインの依存関係で提供される (または jvm の lib/ext ディレクトリに配置される) tools.jar を使用します。
Maven は 1.5 JVM (jdk1.5.0_22) で実行されるため、これらのクラスを JDK 1.4.2 バージョンでコンパイルするには、これらのクラスをデプロイするサーバーが 1.4 JVM で実行されているため、例外が発生します。私はEclipseまたはコマンドラインからMAVENプラグインでコンパイルしています。
別のJavaバージョンを使用してクラスをコンパイルするようにantrunに指示する方法が見つかりませんでした。次の回避策を試しました:
- tools.jar の依存関係を 1.4 バージョンを指すように変更します => コンパイラは現在実行中の 1.5 JVM の rt.jar を使用するため、クラス ファイルのバージョンが一致しません (バージョン 49.0、48.0 を期待)
- 依存関係を 1.4 rt.jar に追加します => rt.jar はブート クラスパスで指定する必要があるため、何も変更されません。
以下は、私が使用しているサンプルコードです。
このような例外が発生しています。
maven-antrun-plugin を使用して、クラスをコンパイルするように JDK 1.4.2 バージョンをセットアップする方法を教えてください。
ant - antrunプラグインで使用されているANTのバージョン
antrunプラグインで使用されているANTのバージョンと、特定のバージョンのANTディストリビューションを使用するようにプラグインを制御するにはどうすればよいですか。このプラグインは実際にローカルディストリビューションからANTを取得しますか?
maven-2 - ANT->Maven タスク トランスレータ (または単に Maven Ant タスクを使用)
Maven を使用して次の各アリ タスクを実行する方法を概説するガイドはありますか?
http://ant.apache.org/manual/tasklist.html
これらのタスクにMavenを使用するか、antタスク機能を介して単にANTで実行するのがベストプラクティスと考えられていますか?
ant - Ant JavaクラスパスからMaven依存関係を構築するにはどうすればよいですか?
Maven Antタスクを使用すると、Mavenの依存関係からAntクラスパスを構築する例がたくさんありますが、その逆はどうでしょうか。
libディレクトリ内のすべてのjarファイルからJavaタスククラスパスを構築する慎重に調整されたAntプロジェクトがあります。Maven-Ant-tasksを使用してクラスパスを使用してMaven依存関係を構築するにはどうすればよいですか?
私はむしろ各jarファイルを個別に実行したくありません(私の最後の手段)。もっと良い方法はありますか?