4

.jar/library を Netbeans プロジェクトに追加して、リポジトリにコミットできるようにする方法を理解するのに苦労しています。

ライブラリを追加する一般的な方法 (私が既に調べた Netbeans ドキュメントによると) は、最終的にはローカルにあるだけです。私のプロジェクトをチェックアウトする人は誰でも、私の必要なライブラリを失うことになります。

手動で挿入して Netbeans を回避しようとすると、プロジェクトをスキャンしようとしているときに Netbeans がハングします...

では、Netbeans に jar をライブラリとして取得し、それをプロジェクトに含めて、Subversion が処理できるようにするにはどうすればよいでしょうか?

4

7 に答える 7

2

これを容易にする NetBeans 6.5 (プロジェクトの変数ベースのパス) の新機能があります。

見る詳細はhttp://wiki.netbeans.org/NewAndNoteWorthyNB65#section-NewAndNoteWorthyNB65-VariableBasedPathsInJ2SEJ2EEProjectsを参照してください。スクリーンショットには、ライブラリ カスタマイザの変数参照が含まれていることに注意してください。

于 2008-12-23T21:01:55.483 に答える
2

There are a couple ways to fix this.

A. When you define your Library, use a path to a common location. A location that's identical on everyone's machine--such as the location of a JAR installed with a third-party app into Program Files or /usr/local/ works well or a network drive.

Then, when they check-out the code, the path will still be correct and they do not have to define the Library on their Netbeans workspace.

B. Edit your project.properties file to use a relative path. Open your project.properties file and look for "libs.LIBRARY_NAME.classpath=...". That will be the "default" location used if the Library is not defined.

Change this to use a path relative to your project and store the jar files in your project. For example: libs.Log4J.classpath=lib/log4j.jar

Keep in mind that the Library definition in your Library Manager will override this value--so make sure you keep them in-sync (i.e. append a version number to the library name!).

C. Use Vincent's suggestion of using a build-system such as Maven. The Maven build-process will take care of downloading dependencies, etc. Netbeans has plugins for several popular build systems.

于 2008-11-13T18:23:40.113 に答える
1

私はNetBeansIDE6.5.1を使用していますが、これまでに見つけた最善の解決策は、ローカルホストから必要なライブラリを含めてから、それらのパスを相対パスに変更することです。その後、NetBeansファイルエクスプローラからライブラリを手動で削除してから、コンピュータのOSの場所からファイルエクスプローラに手動でライブラリをコピーする必要があります。このようにして、NetBeansは変更を検出し、リポジトリにコミットできます。


注:更新後にプロジェクトをクリーンアップして再度ビルドすることを強くお勧めします。

于 2010-09-27T18:37:24.880 に答える
1

lib/jar をプロジェクトにパックして、Subversion が「処理するだけ」で、コンパイルしてすぐに使用できるすべての添付ライブラリを取得できるようにする簡単な方法は、「共有ディレクトリ」を介してプロジェクト ディレクトリにすべてを含めることですライブラリーフォルダーを管理することにより、「ライブラリー」オプションを使用できます。

新しいプロジェクトを作成するときは、「ライブラリの保存に専用フォルダーを使用する」を指定してから、推奨される相対 .\lib パスを使用できます。既存のプロジェクトがある場合は、そのプロパティ、ライブラリ カテゴリ、およびライブラリ フォルダの参照を編集できます。ここでも、初回実行時に .\lib が提案され、既存の依存関係をそのフォルダーにコピーすることが提案されます。これらのグラフィカルなアクションは、James Schek の「B」の回答と同様の結果を提供するはずです。

.\lib に新しく追加されたライブラリを使用してプロジェクトをコミットすると、どこからでもチェックアウトしてビルドできるようになり、最後にビルドしてコミットしたときと同じライブラリ (同じバージョン) があることがわかります。

この機能が NetBeans にどのくらいの期間含まれているかはわかりません。詳細については、次を参照してください。

http://netbeans.org/kb/docs/java/project-setup.html#projects-shared-libraries

于 2010-11-05T21:58:57.983 に答える
1

あなたの質問に対する答えではありませんが...一般的に、これらのライブラリをsubversionリポジトリに含めるべきではありません。通常、それらを管理する必要はありません。あなたが望むかもしれないのは、maven で起こることと同様の中央リポジトリをセットアップすることです。Maven を使用すると、チームがアクセスできるサーバー上にライブラリのローカル リポジトリを作成できます。これらのライブラリへの依存関係は pom.xml ファイルに入力され、これは subversion リポジトリにあります。これで、チーム メンバーが subversion からコードをチェックアウトすると、全員が maven リポジトリにアクセスできるようになります。

[私は今これへの参照を探しています。見つけたら、この回答を編集します。]

于 2008-11-13T13:18:46.310 に答える
0

最終的には、自分のセットをダウンロードして、このプロジェクトのローカル ドライブに配置しました。そこを見るように Netbeans をセットアップし、自分がしたことを他の人たちに警告しました...最終的には、もう少しスケーラブルなことをしなければならないでしょう... :-)

于 2008-12-23T20:18:20.330 に答える
0

OK、私が現在取り組んでいる実用的な解決策は、クラス ファイルを jar から抽出し、それらを [ソース パッケージ] 領域にダンプすることです。次に、すべてがリポジトリにコミットされ、展開フェーズで別の「lib」ディレクトリを処理する必要がなくなります。

このソリューションは、私が探しているすべてのことを行いますが、この方法で行うのは本当に汚いと感じています。それはひどく壊れていて間違っているようです... :-)

于 2009-10-30T14:21:58.593 に答える