3

Java .appバンドルのinfo.plist仕様は、Java 6以降少し変更されているように見えるため、Java7について話していることに注意してください。

現在、私のコードは次のようになっています。

  File file = new File( "documentation/index.html" );
  if (file.exists()) {
      // opens the URI in the browser
      GUIUtils.openURI( file.toURI() );
  } else {
      // opens the URI in the browser
      GUIUtils.openURI( getClass().getResource( "/documentation/index.html" ).toURI() );
  }

アプリバンドルのJavaサブフォルダーには、「ドキュメント」サブフォルダーがあります。私は無駄に、複数のことを試みました:

  • info.plistで、作業ディレクトリをJavaフォルダに設定します(-Duser.dirJVMArgumentプロパティを使用)-ファイルは正しいパスを持っているように見えますが、file.exists()falseを返します。
  • ClassPathをJavaフォルダーに設定しようとしています。(getClass().getResource()まだnullを返します)
4

2 に答える 2

5

com.apple拡張機能を使用する準備ができている場合はcom.apple.eio.FileManager.getPathToApplicationBundle()、バンドルへのベースパスが表示され、それにFile関連するパスを作成できます。

于 2012-09-05T09:52:30.197 に答える
1

Java 9以降、com.appleアクセスできません。

Java 9はモジュールを使用してパッケージをエクスポート(および公開)するためcom.apple、現在は使用できず、非推奨になっています。これによると、java.awt同様のAPI機能を提供する必要があります。

受け入れられた回答に続いてこの問題に遭遇したので、このアップデートを提供したかっただけです。

System.getenv("LOCALAPPDATA")アプリケーション環境を取得するためのオプションとして使用できます。

于 2018-01-29T01:13:28.317 に答える