0

JNotify APIを使用して、コンピューターでパスをリッスンしています。しかし、ファイル システムの監視は比較的低レベルの作業であるため、Linux、Mac、Windows などのオペレーティング システムごとに異なるライブラリが使用されます。32、64ビットでも違いがあります。私の質問は、使用するライブラリを選択する方法です。それらをすべてビルド パスに追加すると、エラーが発生します。いくつかの設定が必要だと思いますが、方法がわかりません:/どんな助けもいただければ幸いです。ところで、私はEclipseでJavaを使用しています。

4

4 に答える 4

0
System.getProperty("os.name");
于 2013-01-18T14:29:41.747 に答える
0

Maven を使用すると、ターゲットごとにプロファイルを作成し、各ターゲット OS を特定の .jar ファイルでビルドできます。

プラットフォームごとに単一のバイナリを作成しようとするのは複雑なことです。アプリケーションが複雑にならないように、ターゲット OS ごとに個別にディストリビューションを作成します。

于 2013-01-18T14:29:49.827 に答える
0

os.arch/os.name システム プロパティを使用して、実行しているプラ​​ットフォームを確認できます。詳細については、同様の質問に対するこの回答を参照してください。

正しいライブラリのロードに関しては、各プラットフォーム固有のクラスを独自の jar にパッケージ化し、それらを動的にロードできます。その例については、この質問を参照してください。

于 2013-01-18T14:31:34.023 に答える
0

os.arch、 、os.nameなどのシステム レベルのプロパティを使用できますos.version

String architecture = System.getProperty("os.arch");
String os = System.getProperty("os.name");

私のマシンでは、それぞれ「amd64」と「Windows 7」を返します。Linuxとfile.separatorMac ではスラッシュ ("/") を返し、Windows ではバックスラッシュ ("\")/

于 2013-01-18T14:34:01.067 に答える