2012-04-16 10 views
0

私はJavaライブラリをNetBeansを使用して整理しようとしています。プログラムフォルダ内のNetBeans - 別のlibフォルダの使用

unknownNetworkDriveOrUncPath:\java\commonlib\ 
            |-- fileio.jar 
            |-- ... 

unknownNetworkDriveOrUncPath:\java\program1\ 
            |-- lib\ 
            |-- program1.jar 

unknownNetworkDriveOrUncPath:\java\program2\ 
            |-- lib\ 
            |-- program2.jar 

のlibフォルダは、特定のjarファイルが含まれています。私が持っていると思いますどのような

はこのようなものです。 commonlibフォルダには、すべてのプログラムが使用できるjarが含まれています。 program1は、それ自身のlibフォルダとcommon libフォルダにアクセスする必要があります。同じことがプログラム2にも当てはまります。

最も良い方法は、コンパイル後にdistフォルダ内で同じ構造を持つことです。それから、ファイルを目的の場所にコピーすることができます。しかし、私はそれをどうやって行うのか分かりません。

NetBeansの設定方法に関するベストプラクティスのソリューションはありますか?ネットワークドライブが異なる可能性があるため、絶対パスまたはUNCパスを使用することはできません。

ありがとうございます。

よろしくお願いいたします。

+0

他のライブラリをNetbeansに組み込む方法について質問します(そして、それらをdistフォルダに入れてください)。 Netbeansに現在どのネットワークドライブが存在しているかを推測させる方法についてですか? –

答えて

2

おそらく、プロジェクトディレクトリにあるbuild.xmlファイルを変更することが必要です。 Netbeansはビルドプロセスを実行するツールとしてApache Antを使います。 AntはXMLベースのスクリプトです。 Netbeansでは複数のファイルに分割されていますが、変更する必要があるのはbuild.xmlだけです。

このファイルのコメントを読んでください。あなたのニーズに合わせてビルドプロセスを調整するために、特定のターゲットをオーバーライドする必要があることを示唆しています。たとえば、 "-post-jar"ターゲットを使用して、製品のインストールディレクトリ全体を "dist"ディレクトリ内に作成します。非絶対パスに関しては、私はあなたがそれを達成できるとは思っていませんが、プロジェクトディレクトリに関連する場所にものをコピーすることができます。私は、複数のNetbeansプロジェクトに共通のdistディレクトリを持つことは全く可能です。

以下はおそらく(テストしていないかもしれませんが)プロジェクトのJARをプロジェクトディレクトリと同じレベルにある "commonBuildDir"ディレクトリにコピーします。

<target name="-post-jar"> 
    <property name="common.build.dir" location="${build.dir}/../../commonBuildDir"/>  
    <copy todir="${common.build.dir}" preservelastmodified="true"> 
      <fileset file="${dist.jar}"/> 
    </copy> 
</target> 

${build.dir}プロジェクトのビルドディレクトリを指す事前に定義された1本の場合には、Antのプロパティを参照します。プロジェクトのJARファイルの場所を参照する${dist.jar}も同じです。私が正しく覚えていれば、これらのものの背後には絶対的な道があります。

Customizing Netbeans Build Script

Ant Tutorial

私はこれがあなたのビルドプロセスあなたが望む方法をカスタマイズするために始めるべきだと思います。

+0

すごく遅れて申し訳ありません。他にもたくさんのことがあります...私が正しく理解していれば、手動で個々のjar(lib)を選択して、共通のlibフォルダまたはプログラム固有のlibフォルダに入れる必要があります。あまりにも複雑ではないですか? – Sleepwalker

+0

@Sleepwalkerはあなたの要件ではありませんでしたか?または、NetbeansがJARを適切な場所に並べ替えることができるかどうか質問していますか?それはあなたのために私が恐れることはありません。 – predi

+0

あなたのアイデアは良いですが、NetBeans内で何十個ものライブラリを手動で設定することなく、この構造を設定したいと考えていました。時間があれば試してみてください。これは唯一の受け入れ可能な答えと思われる:) – Sleepwalker

0

プロジェクトで使用するcommonslibライブラリ(Tools -> Libraries)を作成することができます。

プロジェクトでは、jarファイルへのパスを手動で追加します。

関連する問題