問題タブ [maven-2]
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.
c++ - maven2 を使用して autotools ベースの C/C++ パッケージをビルドする
私は、MATLAB、Java、および C/C++ コンポーネントのコレクションに取り組んでいます。これらはすべて相互運用されますが、コンパイル/インストール手順が明らかに異なります。現在、MATLAB 用には何もコンパイルせず、Java のビルドと単体テストには maven2 を使用し、C/C++ のビルドと単体テストには autotools を使用しています。
maven2 を使用して、すべてを単一のビルドおよび単体テスト システムに移行したいと考えていますが、C/C++ コードストリームを autotools ベースのままにし、maven ビルドにラップするだけのプラグインを見つけることができませんでした。autotools のサポートを取り除き、maven ですべての依存関係を再作成する必要があることは、契約を破る可能性が最も高いため、maven と autotools のどちらかを選択するのではなく、うまく連携させる方法を探しています。
これは可能ですか、それとも望ましいですか? 私が見落としているリソースはありますか?
java - プロジェクトをどのようにバージョン管理し、リリースを管理していますか?
弊社の状況は以下の通りですが、どのような状況でもこの問題が気になります。
私たちは4つのプロジェクトからなるフレームワークを持っています:
- 豆
- ユーティリティ
- フレームワーク
- ウェブ
バージョンを必要とし、Bean と util のバージョンに依存するモジュールもあります。
最後に、コア プロジェクトの特定のバージョンと 1 つ以上のモジュールで構成される顧客プロジェクトがあります。
これらのプロジェクトをバージョン管理する標準的な方法はありますか?
リリースを QA に提出し、リリースのメンテナンス (リリース = タグと可能性のあるブランチ) を使用して進行中の開発を管理しようとすると、私には単純に思えますが、非常に複雑になっています。
私は次のようなものを好みます:
1.2.0 - メジャー バージョンとマイナー バージョン + リリース。
1.2.1 - 次のリリース
1.2.0_01 - 1.2.0 リリース (ブランチ) のバグ修正
等
何か案は?
maven-2 - これはコードベースを構築するための正しいアプローチですか?
現在、1つのWebベースのNetbeansプロジェクトであるJavaコードベースがあります。組織とコードベースが成長するにつれて、システムのさまざまな独立した部分を個々のjarに分割する必要があることは明らかです。したがって、データアクセス層用に1つ、一般ライブラリ用に1つ、特殊な知識アクセス用に1つなどのJarライブラリがあります。次に、Webアプリケーション用に別のプロジェクトがあり、コマンドラインツールアプリ用に1つ、別のプロジェクトがあります。最終的にはWebアプリなど。
これを実行および管理するための推奨プラクティスは何ですか?Mavenですか?個々のプロジェクトを作成し、あるプロジェクトの依存関係を他のプロジェクトのjarファイルに設定するだけで、Netbeansだけですべてを効果的に実行できますか?
java - Maven でビルドされた実行可能 JAR の JVM 引数を指定する方法
Maven を使用して実行可能な JAR をビルドする場合、JAR の実行時に使用される JVM 引数を指定するにはどうすればよいですか?
を使用してメイン クラスを指定できます<mainClass>
。JVM引数にも同様の属性があると思います。特に、最大メモリを指定する必要があります (例 -Xmx500m)。
ここに私のアセンブリプラグインがあります:
編集/フォローアップ: thisおよびthis postによると、実行可能な JAR に JVM 引数を指定できない可能性があるようです。
java - Cobertura は、コードがカバーされたことを認めることを拒否します
Maven (2) Cobertura プラグインを使用してコード カバレッジに関するレポートを作成しています。メソッドで使用している次のスタブがあります。
例外などをログに記録する必要があることはわかっていますが、それは今のポイントではありません... Cobertura は、スタック トレースが出力された後の行がカバーされていることを認めることを拒否しています。つまり、System.err.println
ステートメントの前に「}」が付いている行は、カバーされているものとして表示されていません。以前は、メソッドの終了中かっこはカバーされているものとして表示されていなかったため、System.err
ステートメントが表示されていました。cobertura の maven プラグインに、System.err.println
ステートメントがカバーされているため、終わりのブレースがカバーされている必要があることを納得させる方法はありますか?
そうそう、モック セキュリティ マネージャーを使用してセキュリティ例外をスローします。これは、System.exit
呼び出し後にテストを実行し続けるための最も簡単な方法であるためです。
java - CoberturaをM2ビルドに失敗させてコードカバレッジを低くする方法
回線またはブランチのカバレッジが指定されたしきい値を下回った場合に失敗するようにWARプロジェクトビルドを構成しようとしています。優れた本JavaPowerToolsの455ページに記載されている構成を使用していますが、成功しませんでした。これが私のプロジェクトのMaven2POMの関連するスニペットです。
私が言ったように、カバレッジレポートは正常に機能しますが、問題は、回線またはブランチのカバレッジが指定されたしきい値を下回っている場合に、「インストール」の目標が失敗しないことです。誰かがこれを機能させていますか?もしそうなら、あなたのPOMはどのように見え、どのバージョンのCoberturaとMavenを使用していますか?Maven2.0.9とCobertura2.2を使用しています。
私はグーグルでCoberturaのドキュメントを読んでみましたが、運がありません(後者は控えめに言ってもまばらです)。
maven-2 - Eclipse RCP プロジェクトのビルド自動化と継続的統合に maven2 を使用しますか?
私の会社は来週、新しいプロジェクトを開始します。eclipse rcp を使用してアプリケーションを開発する予定です。ビルド プロセスは完全に自動化する必要があるため、継続的な統合環境 (Continuum など) をセットアップする準備ができています。build-automation-part では、依存関係管理を使用したいので、maven2 を使用するつもりでした。
私は小さな古いスタイルのJavaプロジェクトにmaven2を使用しましたが、Eclipse rcpで使用するためにmavenをセットアップしたことはありません.
これを行う最善の方法は何ですか?基本概念?よくある罠?そこにチュートリアルや本はありますか?私が見つけたチュートリアルと情報は、時代遅れまたは不完全に見えました。
PS: メイン プロジェクトは、サブ プロジェクト (プラグイン) に分割されます。しかし、これは eclipse rcp プロジェクトの典型だと思います。
maven-2 - ローカルリポジトリへの「mvn deploy」と「mvn install」の違いは何ですか?
私のチームは、Apache を使用する開発サーバーから共有される内部チーム Maven リポジトリを使用しています。また、Continuum CI サーバーも同じマシンで実行しています。Continuum の Maven ビルドは「インストール」ゴールで実行され、最終的なアーティファクトが共有ディレクトリに直接コピーされます。
mvn install
問題は、デプロイ ゴール (mvn-deploy プラグイン) を使用して共有リポジトリにファイルを追加する場合と使用する場合の違いは何ですか?
を使用するとmvn deploy
追加の構成の手間がかかるように思えますが、共有リポジトリにファイルをインストールすることは、maven の内部動作に関連する何らかの理由で悪い考えであることをどこかで読んだことがあります。
更新: と の間の機能上の違いを取得しdeploy
ますinstall
。私は実際には、maven リポジトリで作成されるファイルの観点から、低レベルの詳細にもっと興味があります。
java - アーティファクトを配置する場所をMavenに伝える方法はありますか?
m2eclipse プラグイン、Windows コマンド ライン、および cygwin コマンド ラインの両方で maven を実行しています。
cygwin の bash シェルはアーティファクトを cygwin /home/me/.m2 ディレクトリにダンプします
ただし、m2eclipse および Windows シェル (Vista 上) は /Users/me/Documents/.m2 を使用します
中央の .m2 ディレクトリを 1 つ使用するように mvn コマンドに指示することはできますか?
ありがとう
java - Maven を使用する場合の開発環境と展開用の異なる Spring XML ファイル
概要
デプロイされた Java Web アプリが接続する中央の LDAP サーバーがあります。私たちの JUnit テストは、LDAP リポジトリ内の特定のデータに依存しているため、サンプル データ セットが準備された組み込みの ApacheDS LDAP サーバーに接続する必要があります。Web アプリケーションをデプロイするときに ApacheDS サーバーが起動しないようにするにはどうすればよいでしょうか?
詳細
Spring セキュリティを使用しており、ldap-context.xml に組み込み LDAP サーバーを起動するための次の行があります。
現在、web.xml は、このテスト コンテキスト ファイルと最上位の application-context.xml の両方を参照しています。
JUnit テストを実行するとき、および Eclipse から (WTP 経由で) 直接 webapp を実行するときに、ldap-context.xml が含まれていることを確認する必要がありますが、war をパッケージ化してサーバーにデプロイするときには除外されます。
ビルドツールとしてmavenを使用しています。コンテキスト構成に両方のスプリング コンテキスト ファイルが含まれていることを確認することで、JUnit テストでこの状況をかなり簡単に処理できます。
次に、web.xml には application-context.xml のみが含まれますが、1 つのことを除いて - これは WTP から実行している場合は機能しません - その場合も組み込みサーバーを起動する必要があります。助言がありますか?