問題タブ [maven-antrun-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.
java - ssh を介して jar ファイルをコピーする際の Java Eclipse Maven (および ant) の問題
私は次のものを持っています:
- で走っ
eclipse-indigo
ているCentOS 6.2
、 apache-ant-1.8.4
また、システムにインストールし、ANT_HOME
変数を に設定しましたeclipse
。- Eclipse では、システムにインストールされているバージョン
maven2
を使用するプラグインをインストールしました (使用するように構成しました)。maven-3.0.4
eclipse
私は日食にmavenプロジェクトを持っており、いつでもinstall
-(maven
目標)-結果のjar
ファイルをサーバーの特定の場所にコピーしたいと思っていますssh
。このために、私は自分で次のことを行いましたpom.xml
:
pom.xml
この投稿に従って、そのように構成しました:
- Maven Ant SCP エラー
- Maven は、SSHおよびその他の外部リンクを使用して、ローカル ファイルをリモート サーバーにコピーします。
問題は、install
ゴールを実行するeclipse
と次のエラーが発生することです。
エラー] プロジェクト myprojectname で目標 org.apache.maven.plugins:maven-antrun-plugin:1.3:run (デフォルト) を実行できませんでした: Ant BuildException が発生しました: Reference /usr/local/apache-ant/apache-ant- 1.8.4/lib/ant-jsch.jar が見つかりません。→【ヘルプ1】
問題は、ant-jsch.jar
そこにあるということです。
質問: 私の問題に対処する方法について何か提案はありますか? 完全なスタック トレースを知りたい場合は、教えてください。
編集:
maven - jdk1.7でjavahmaven-antrun-pluginを使用すると、classes.jarはtools.jarになりました
Mac用のjdk1.7では、com.sun.tools.javah.Mainの場所がclasses.jarからtools.jarに移動しました。その結果、Mavenのmaven-antrun-pluginはjavahタスクの実行を見つけることができず、ClassNotFound例外がスローされます。
1.7場所:/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/lib/tools.jar
1.6場所:/Library/Java/JavaVirtualMachines/1.6.0_32-b05-420.jdk/Contents/Classes/classes.jar
これは、Mavenバージョン3.0.4のバグまたは失敗のようです。tools.jarをプラグインの依存関係にすることを検討しましたが、それは正しくないようです。これらのソリューションを試しましたが、機能させることができませんでした。
maven:OSに依存しない方法でtools.jar / classes.jarをロードする方法は?
Mavenの人々がMacでjdk-1.7を使用してMaven-antrun-pluginに対処するまでの回避策はありますか?
maven-3 - Maven:mavent--ant-runは属性をサポートしていません
現在、Mavenビルドスクリプトに取り組んでいます。次の問題は、ソースファイルをターゲットフォルダーにコピーすることです。このスレッドを見つけました。「flattern」属性を使用しない限り、正常に動作します。コンピューターがすべてを正しく行うことは知っていますが、なぜビルドが失敗するのだろうかと思います。
ここに、mavenantrunプラグインを使用した私のコードがあります。
私が受け取るエラーメッセージは
私は何かを監督しましたか?もしそうなら、欠けている事実は何ですか?
助けてくれてありがとう:-)
maven - cygwin を使用した maven-antrun-plugin sshexec は、使用する形式に関係なく、キーファイルを見つけることができません
使用するキーファイル形式に関係なく-スラッシュ、バックスラッシュ、cygwin 形式、maven-antrun-plugin sshexec はキーファイルを見つけることができませんが、そこにあります。私は何を間違っていますか?
<sshexec username="cloudera" keyfile="C:\Users\gaga\.ssh\id_rsa" host="myhost" command="bla"/>
maven - Maven - 変数に名前を入れてファイルの名前を変更する
ここに私の問題があります。ファイルがあります。異なるプロファイルを使用する場合は、それぞれのファイルの名前を変更する必要があります。
だから私はあなたが見つけることができるdev.propertiesに2つの.propertiesファイル、dev.propertiesとrec.propertiesを持っています:
rec.properties で見つけることができます:
私が今欲しいのは、使用するプロファイルを設定するときに、これらの変数の内容を使用できるようにすることです:
しかし、次を使用すると、変数が入力されません。
最終的には、次の名前のファイルになります。
maven - Mavenはパッケージ化フェーズをスキップします
ANTプロジェクトを作成し、POMファイルを作成しています。現在のANTビルドファイルには、weblogicのJwscTaskを使用して2つのEARファイルを生成するターゲットがあります。これで、これら2つのEARファイルのみをリモートリポジトリのweblogicサーバーにデプロイする必要があります。Mavenにパッケージを生成させたくありませんが、生成された2つのEARファイルを取得してデプロイします。基本的に、クリーン、コンパイル、デプロイの各フェーズはMavenが処理する必要があります。パッケージングはANTによって行われます。pomファイルのmaven-antrun-pluginを使用して、build.xmlファイルのターゲットを呼び出します。
パッケージを「POM」として選択した場合、Mavenはパッケージを生成しませんが、srcファイルもコンパイルしません。
Mavenライフサイクルのパッケージフェーズをスキップする方法はありますか?POMでパッケージをWARとして指定したとしますが、WARファイルの生成をスキップして、2つのEARファイルをデプロイする方法はありますか?
POMファイルのセクションは次のとおりです。
maven - antrun プラグインで Maven の依存関係を参照する
antrun プラグインで maven プロジェクトの依存関係を参照したい。maven アセンブル war プロセスの後に WEB-INF/lib フォルダーに存在するすべてのライブラリを削除し、そこに別の依存関係を配置する必要があります。ここで記事を見つけましたが、そこに示されている例は機能しません。そのようなことをする他の可能性はありますか?
maven - WARがパッケージ化される前に、Mavenを使用してファイルをWEB-INFにコピーします
Webアプリケーションに2つのサーブレット構成ファイルがあります。1つは通常の環境(Heroku)用で、もう1つはWebLogic用です。「servlet-context.xml.weblogic」を「servlet-context.xml」にコピーする必要があるWebLogicビルド用のMavenプロファイルがあります。コピーがwarファイルのビルド後に行われることを除いて、すべてが機能しているように見えるため、正しいサーブレットコンテキストがパッケージに含まれていません。コピーを正しく行うためにmaven-antrun-pluginで使用する正しいビルドフェーズは何ですか?
これが私のPOM.xmlファイルの関連セクションです:
これは次のエラーで失敗します。
ただし、に変更する<phase>
とpackage
、コピーは機能しますが、戦争が構築された後です。
どんな助けでもいただければ幸いです。
maven - war がパッケージ化される前に、maven ビルド段階で ant タスクを実行しますか?
Web アプリケーションをデプロイするとき、UI リソースのいくつかの変数を更新し、いくつかのアセットを解凍し、いくつかのファイルを連結する必要があります。現在、これは ant タスクによって実現されています。このようなものを使用して、mavenビルドプロセスでこのタスクを実行しようとしています...
ファイルがまだターゲットディレクトリにコピーされていないため、上記は失敗します。フェーズを「パッケージ」に設定すると、ant タスクは正常に実行され、すべてのファイルが作成/修正されますが、ant ターゲットが実行される前に .war が既にビルドされているため、役に立ちません。
基本的に、準備パッケージ フェーズの終わり近くで ant ターゲットを実行する必要があります。
ライフサイクル リファレンスを調べたところ、より詳細な目標を antrun プラグインに公開する方法がわかりません。
何か案は?