問題タブ [maven]
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ビルドでほとんどの単体テストを実行したいと思います。しかし、1つのプロジェクトには遅いユニットテストがあり、一般的にそれらを除外したいと思います。時々それらをオンにします。
質問:これを行うにはどうすればよいですか?
私は知って-Dmaven.test.skip=true
いますが、それはすべての単体テストをオフにします。
ここで説明する統合テストのスキップについても知っています。しかし、私には統合テストはなく、単体テストだけがあり、maven-surefire-pluginへの明示的な呼び出しはありません。(私はEclipse-MavenプラグインでMaven 2を使用しています)。
java - Spring の @Configurable の AspectJ コンパイル時の織り込みが機能しないのはなぜですか?
更新 5:最新の Eclipse ベースの最新の Spring ToolsSuite IDE をダウンロードしました。プロジェクトを Maven プロジェクトとしてインポートすると、Eclipse/STS はプロジェクトのビルドに Maven ゴールを使用しているように見えます。これは、AspectJ が最終的に Eclipse で正しく動作することを意味します。
更新 4: Eclipse のメカニズムを効果的にバイパスして、コンパイル時のウィービングに Maven + AspectJ プラグインを使用するだけになりました。
更新 3: AspectJ の Eclipse プラグインが、Tomcat に正しく公開する Eclipse の機能を壊しているようです。プロジェクトの AspectJ 機能を削除することによってのみ、プロジェクトを適切に公開できるようになります。とてもうるさい。
更新 2:これが Eclipse で動作するようになりました。これを言うのは非常に不快ですが、EclipseまたはMavenビルドからどのように機能するようになったのかわかりません。実行時の問題ではなく、コンパイルの問題のようです。
更新 1: Maven ビルドを介して動作するようになったようですが、方法がわかりません。Eclipse はまだ動作しません。pom.xmlで変更したのは、これらの (重要でない?) 構成パラメーターを追加したことだけです。
私は実際に、すべてが一貫して機能しないこの問題が繰り返されることを心配しています。詳細がわかり次第、この質問を更新していきます。
Eclipse に関しては、組み込みたいバイナリ アスペクト (この場合はspring-aspects.jar ) をクラスパスからコピーすることで、ある程度の進歩を遂げました。次に、この外部 jar をAspect Pathに追加します。これを行った後、Eclipse はコード内に AspectJ マーカーを適切に表示します。Mavenプラグインを介してMavenによって維持されているJavaビルドパスにspring-aspects.jarをそのままにしておくことができないのは面倒です。ただし、何らかの理由で、バイナリ アスペクトがAspect Pathに明示的に追加されない限り、AspectJ プラグインはバイナリ アスペクトを認識しません。
元の投稿: @Configurable は、Spring の外部でインスタンス化されたオブジェクトに依存関係を注入できるようにする Spring アノテーションです (たとえば、Hibernate またはいくつかの Factory クラスによって)。
以前、この注釈をロード時の織りで使用していましたが、ほとんど機能していました。時々、起動しても何も注入されませんでした。この問題により、この StackOverflow questionが発生しました。多くの回答はありませんでしたが、信頼性が高いため、代わりにコンパイル時のウィービングを試すことを提案する人がほとんどでした。
Eclipse および Maven 用の AspectJ プラグインをインストールしました。これらは両方とも、適切にコンパイルされたクラスのように見えるものを生成します。AspectJ をコンパイルする前に、クラスの 1 つをテキスト エディターで開いたところ、AspectJ への参照が見つかりませんでした。AspectJ のコンパイル後に開いたところ、Eclipse と Maven の両方で生成されたバージョンにorg.aspectj.weaver.MethodDeclarationLineNumberへの参照があります。これが、適切にコンパイルされていると想定する理由です。問題は、デプロイされると、依存関係が注入されないことです。
私のSpring applicationContext.xmlには以下が含まれています:
@Configurable とマークされたクラスが DI を実行するために必要なのは、上記のすべてですか? ロード時ウィービングからコンパイル時ウィービングへの変換中に、META-INF/aop.xml、<context:load-time-weaver />をapplicationContext.xmlから削除し、Spring の Tomcat ウィーバーをcontext.xmlから削除しました。
この問題をさらに調査するにはどうすればよいですか? 考えられる原因は何ですか?
maven - Mavenのベストプラクティス
Mavenのベストプラクティスとリポジトリの管理についていくつか質問があります。
私の環境では、中央のMavenリポジトリに移動するのではなく、すべてを内部リポジトリに格納します。スナップショットまたはMavenリポジトリからのリリースの使用を無効にするsettings.xmlファイルに情報を入力するように各ユーザーに要求する必要がありますか、それともPOMファイルに含める必要がありますか?
また、すべてのユーザーに同じ企業リポジトリにアクセスしてもらいたいと思います。このリポジトリ情報をpomまたはsettings.xmlに配置する必要がありますか?それがpomにある場合、リポジトリがpomを取得する場所をすでに知っている必要があるため、mavenはどのようにしてリポジトリに移動することを知るのでしょうか?
maven - Maven アセンブリは親の依存関係を無視します
私のアセンブリ記述子は、依存関係が pom ファイルに直接含まれている場合、インクルードとエクスクルードを正しく適用します。
ただし、依存関係を親の pom ファイルに配置すると、 assembly:directory ゴールは、インクルードとエクスクルードがトリガーされていないことを報告します。
maven-assembly-plugin が親の依存関係を無視する理由を知っていますか? どうすれば修正できますか?
Maven 記述子とアセンブリ記述子は次のとおりです。
アセンブリ記述子:
子 POM アセンブリ プラグインの定義:
親 POM の依存関係:
ビルド レポートの警告:
java - Maven リポジトリで Oracle JDBC ドライバーを見つける
Oracle jdbc ドライバーを依存関係 (ランタイム スコープ) - ojdbc14 としてプロジェクトに追加したいと考えています。MVNrepository サイトでは、POM に入れる依存関係は次のとおりです。
もちろん、これはmavenが使用する中央リポジトリにないため機能しません。2 つの質問:
このアーティファクトを含むリポジトリ (存在する場合) を見つけるにはどうすればよいですか?
Maven が使用できるように追加するにはどうすればよいですか?
maven-2 - Maven2 で maven-simian-plugin をどのように使用しますか?
Simian用の Maven2 レポート プラグインを探していますが、そのようなレポートに最も近いものはこれです。問題は、ドキュメントが代わりに Maven 1 用のように見えることです。Maven 1 プラグインが Maven 2 リポジトリに保存されるのはなぜですか? ということは使えるということなのだろうけど…どうやって使うの?このサイトではレポートについて言及していますが、持っていない場合src/main/site
は使用できないということですか? mvn simian:simian
と のようなものmvn checkstyle:checkstyle
を期待していましたmvn pmd:pmd
。レポートのためだけにサイトを生成したくありません。完全な xml レポートだけが必要な場合、サイトの生成に時間がかかりすぎます。