サードパーティの依存関係をMavenリポジトリーにデプロイする簡単な方法

ニケン:

私は非常に厳しく管理された組織で働いており、外部のリポジトリへのアクセスを絶対に許可しません。

アプリケーションにSpring&Hibernateフレームワークを使用し、Mavenを使用して依存関係を解決してプロジェクトをビルドしたいと思います。

ローカルサーバーにネクサス「サードパーティ」リポジトリを設定しました。これで、実際にライブラリを追加する作業が始まります。Hibernate 3.6.7.Finalには以下のjarが付属しています。

./hibernate-testing.jar
./hibernate3.jar
./lib/required/commons-collections-3.1.jar
./lib/required/dom4j-1.6.1.jar
./lib/required/jta-1.1.jar
./lib/required/slf4j-api-1.6.1.jar
./lib/required/antlr-2.7.6.jar
./lib/required/javassist-3.12.0.GA.jar
./lib/jpa/hibernate-jpa-2.0-api-1.0.1.Final.jar
./lib/optional/c3p0/c3p0-0.9.1.jar
./lib/optional/swarmcache/swarmcache-1.0RC2.jar
./lib/optional/proxool/proxool-0.8.3.jar
./lib/optional/jbosscache/jbosscache-core-3.2.1.GA.jar
./lib/optional/oscache/oscache-2.1.jar
./lib/optional/infinispan/infinispan-core-4.2.1.CR1.jar
./lib/bytecode/javassist/javassist-3.12.0.GA.jar
./lib/bytecode/cglib/cglib-2.2.jar

Spring 3.0.6.RELEASEには次のものが付属しています。

org.springframework.aop-3.0.6.RELEASE.jar                
org.springframework.jdbc-3.0.6.RELEASE.jar
org.springframework.asm-3.0.6.RELEASE.jar                
org.springframework.jms-3.0.6.RELEASE.jar
org.springframework.aspects-3.0.6.RELEASE.jar            
org.springframework.orm-3.0.6.RELEASE.jar
org.springframework.beans-3.0.6.RELEASE.jar              
org.springframework.oxm-3.0.6.RELEASE.jar
org.springframework.context-3.0.6.RELEASE.jar            
org.springframework.test-3.0.6.RELEASE.jar
org.springframework.context.support-3.0.6.RELEASE.jar    
org.springframework.transaction-3.0.6.RELEASE.jar
org.springframework.core-3.0.6.RELEASE.jar               
org.springframework.web-3.0.6.RELEASE.jar
org.springframework.expression-3.0.6.RELEASE.jar         
org.springframework.web.portlet-3.0.6.RELEASE.jar
org.springframework.instrument-3.0.6.RELEASE.jar         
org.springframework.web.servlet-3.0.6.RELEASE.jar
org.springframework.instrument.tomcat-3.0.6.RELEASE.jar  
org.springframework.web.struts-3.0.6.RELEASE.jar

依存関係を展開するための2つの推奨される方法が

1)pomをセットアップします。コマンド「mvn deploy」を使用します

2)個々のjarファイルに対して、次のようにコマンドラインを使用します。

 mvn deploy:deploy-file -Durl=file://C:\m2-repo \

                   -DrepositoryId=some.id \

                   -Dfile=your-artifact-1.0.jar \

                   [-DpomFile=your-pom.xml] \

                   [-DgroupId=org.some.group] \

                   [-DartifactId=your-artifact] \

                   [-Dversion=1.0] \

                   [-Dpackaging=jar] \

                   [-Dclassifier=test] \

                   [-DgeneratePom=true] \

                   [-DgeneratePom.description="My Project Description"] \

                   [-DrepositoryLayout=legacy] \

                   [-DuniqueVersion=false]

1)については、休止状態のプロジェクト全体に対して単一のpomを作成することも、複数のpomを作成することもできることを理解しています。外部ライブラリごとに1つと思います。たとえば、cglib-2.2.jarは独自のpomになる可能性があります。これは、springにも同様の依存関係があることを知っているため、(2)x cglib(s)がないために、1つのcglibがあり、それを次のように含めます。私のorg.springとorg.hibernate pomの依存関係。

2)については、ファイルリストを読み取り、どこか別のリストからGAV情報を解析して、1つずつリポジトリにダンプするシェルスクリプトを記述して、各jarがプロジェクトのPOMの依存関係としてリストされると思います。

この最後の部分は私が混乱しているものです... org.SpringとHibernateを別のorg.Hibernateに1つのグループとしてデプロイすると、依存関係(cglibなど)間に衝突が発生する可能性がありますか?

だから私は私の質問だと思います:

ダウンロードしたSpringリリースとHibernateリリースをローカルのネクサスリポジトリにデプロイして、プロジェクトですばやく使用できるようにするための最も簡単、最速、最小の労力が必要な方法は何ですか?(あまりにも多くのpomであまりにも多くの依存関係をリストする必要はありません。)


編集:

私が何をしたいのかについての明確化 ローカルサーバーで実行されている1つのNexus Managerがあります(インターネットにアクセスできます)。Spring&Hibernateを実行するために必要なすべての依存関係をインターネットリポジトリからダウンロードできるようにしたい私はこれをしたいONCE、その後、彼らは私の中で座っていINTERNAL私がするリポジトリ(ネクサス)、NEVER EVER中央は、JBoss、春や他に話をPUBLICの私がするまでリポジトリ特異的にそれを可能にします。スイッチのようにオン/オフできるようにしたい。

ONモード=「パブリックリポジトリから依存関係を取得できます

OFFモード=「外部に接続しはなりません

これは次のようにすることで達成できるようです:

ネクサスで

1)グループを設定する

2)必要な外部リポジトリーごとにプロキシーをセットアップします

3)すべてのプロキシを1つのグループに入れます

開発ワークステーション上(これは私がよくわからない部分です)

1)ここで説明するように、settings.xmlを編集して中央の場所を上書きし、リポジトリをローカルのネクサスグループにポイントします。

Mavenリポジトリミラー

そしてここ

Mavenセントラルリポジトリを無効にする

そしてここ

http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html

2)依存関係を取得できるように、mvn installまたはcompileなどを実行します。

その後はどうなるのかよくわかりません。どういうわけか、MavenにローカルのNexusリポジトリの1つで外部グループをミラーリングするように指示しますか?私はそれを試し、成功したら戻ってきて私の解決策を投稿すると思います。それまでの間、コメントやアドバイスをお気軽にどうぞ。

Manfred Moser:

Nexusには調達機能があり、上流から元のpomを使用しながら、外部からリポジトリに何が入るかを厳密に制御します。それらがないと、推移的な依存関係情報がすべて失われ、おそらくビルドまたはランタイムデプロイメントが将来中断する可能性があります。

JFrog Artifactoryには、無料で同様の機能(組み込み/除外パターンを定義できます)があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Homebrewにすべてのパッケージの依存関係をリストさせる簡単な方法

分類Dev

Homebrewにすべてのパッケージの依存関係をリストさせる簡単な方法

分類Dev

サードパーティのライブラリの依存関係を使用してjavaagentをデプロイする方法

分類Dev

サブユーザーコントロールの依存関係プロパティの共有プロパティを適切にバインドする方法

分類Dev

Maven 自体からではなく、pom.xml からのみ Maven 依存関係をローカル リポジトリにダウンロードする方法

分類Dev

Mavenを使用して依存関係のあるEclipseプロジェクトにサードパーティのコードを追加しますか?

分類Dev

GitリポジトリとMaven依存関係の両方をEclipseにインポートする方法

分類Dev

サードパーティの依存関係を持つインストール可能なDjangoアプリの作成

分類Dev

プライベートメソッド/プロパティを使用してパブリックメソッド/プロパティの出力を変更する依存関係を持つAngular6サービスをテストする方法

分類Dev

Linuxディストリビューションリポジトリにないソースパッケージの依存関係を見つける方法は?

分類Dev

Mavenを使用してサードパーティの依存関係を取得する代わりに、その依存関係のソースをプロジェクトに直接実装するにはどうすればよいですか?

分類Dev

Electron-アプリにbrewやapt-getパッケージなどのサードパーティの依存関係をインストールまたは使用するにはどうすればよいですか?

分類Dev

WPF:静的リソースをユーザーコントロールの依存関係プロパティにバインドする

分類Dev

ローカルmavenリポジトリの追加がオプションではないmavenプロジェクト(コンパイル、ビルド、パッケージ)にサードパーティのjarをどのように含めますか?

分類Dev

Mavenでサポートされる依存関係なしでJavaプロジェクトをHerokuにデプロイする

分類Dev

Maven:依存関係のバージョンを単一モジュールプロジェクトのプロパティとして指定する利点

分類Dev

Mavenコンパイルがローカルリポジトリの依存関係を認識しない

分類Dev

プライベートリポジトリへのgit依存関係を持つアプリを実行またはデプロイする方法

分類Dev

AWSEMRノートブックにライブラリ/ Mavenの依存関係をロードする方法

分類Dev

ローカルリポジトリとリモートリポジトリに異なるタイムスタンプのSNAPSHOTSがある場合、MavenはSNAPSHOTの依存関係をどのように解決しますか?

分類Dev

Maven依存関係の中央リポジトリにjarがなく、アーティファクトがないためにMavenビルドが失敗します

分類Dev

Mavenのリポジトリ依存関係としてのGradle ProGuardのプラグインを使用する方法は?(ローカルフォルダを参照せず。)

分類Dev

AWS LambdaのサブディレクトリにPython依存関係をパッケージ化する

分類Dev

スタイルトリガーから依存関係プロパティを設定する方法

分類Dev

Talendプロジェクトにサードパーティのライブラリを追加する方法は?

分類Dev

ポリマー(ピカデート)でのサードパーティの依存関係の使用

分類Dev

npmパッケージの依存関係のプルリクエストをテストする効率的な方法

分類Dev

マージンをバインドするための単純な依存関係プロパティを作成できますか?

分類Dev

ポリマー要素がゲッター/セッターでバインド可能なプロパティを宣言する最も簡単な方法は?

Related 関連記事

  1. 1

    Homebrewにすべてのパッケージの依存関係をリストさせる簡単な方法

  2. 2

    Homebrewにすべてのパッケージの依存関係をリストさせる簡単な方法

  3. 3

    サードパーティのライブラリの依存関係を使用してjavaagentをデプロイする方法

  4. 4

    サブユーザーコントロールの依存関係プロパティの共有プロパティを適切にバインドする方法

  5. 5

    Maven 自体からではなく、pom.xml からのみ Maven 依存関係をローカル リポジトリにダウンロードする方法

  6. 6

    Mavenを使用して依存関係のあるEclipseプロジェクトにサードパーティのコードを追加しますか?

  7. 7

    GitリポジトリとMaven依存関係の両方をEclipseにインポートする方法

  8. 8

    サードパーティの依存関係を持つインストール可能なDjangoアプリの作成

  9. 9

    プライベートメソッド/プロパティを使用してパブリックメソッド/プロパティの出力を変更する依存関係を持つAngular6サービスをテストする方法

  10. 10

    Linuxディストリビューションリポジトリにないソースパッケージの依存関係を見つける方法は?

  11. 11

    Mavenを使用してサードパーティの依存関係を取得する代わりに、その依存関係のソースをプロジェクトに直接実装するにはどうすればよいですか?

  12. 12

    Electron-アプリにbrewやapt-getパッケージなどのサードパーティの依存関係をインストールまたは使用するにはどうすればよいですか?

  13. 13

    WPF:静的リソースをユーザーコントロールの依存関係プロパティにバインドする

  14. 14

    ローカルmavenリポジトリの追加がオプションではないmavenプロジェクト(コンパイル、ビルド、パッケージ)にサードパーティのjarをどのように含めますか?

  15. 15

    Mavenでサポートされる依存関係なしでJavaプロジェクトをHerokuにデプロイする

  16. 16

    Maven:依存関係のバージョンを単一モジュールプロジェクトのプロパティとして指定する利点

  17. 17

    Mavenコンパイルがローカルリポジトリの依存関係を認識しない

  18. 18

    プライベートリポジトリへのgit依存関係を持つアプリを実行またはデプロイする方法

  19. 19

    AWSEMRノートブックにライブラリ/ Mavenの依存関係をロードする方法

  20. 20

    ローカルリポジトリとリモートリポジトリに異なるタイムスタンプのSNAPSHOTSがある場合、MavenはSNAPSHOTの依存関係をどのように解決しますか?

  21. 21

    Maven依存関係の中央リポジトリにjarがなく、アーティファクトがないためにMavenビルドが失敗します

  22. 22

    Mavenのリポジトリ依存関係としてのGradle ProGuardのプラグインを使用する方法は?(ローカルフォルダを参照せず。)

  23. 23

    AWS LambdaのサブディレクトリにPython依存関係をパッケージ化する

  24. 24

    スタイルトリガーから依存関係プロパティを設定する方法

  25. 25

    Talendプロジェクトにサードパーティのライブラリを追加する方法は?

  26. 26

    ポリマー(ピカデート)でのサードパーティの依存関係の使用

  27. 27

    npmパッケージの依存関係のプルリクエストをテストする効率的な方法

  28. 28

    マージンをバインドするための単純な依存関係プロパティを作成できますか?

  29. 29

    ポリマー要素がゲッター/セッターでバインド可能なプロパティを宣言する最も簡単な方法は?

ホットタグ

アーカイブ