パスをbashで出力すると、次のように出力されます。
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
System.out.println(System.getenv( "PATH"));を実行すると、 Java、それは印刷されます
/usr/bin:/bin:/usr/sbin:/sbin
なぜこの矛盾があるのか、どうしたら分かりますか?/usr/local/binをPATHに追加し、JavaアプリでEclipseの下で使用できるようにする必要があります。(注:システムパスを変更していないため、これらはOS、またはおそらく私がインストールした1つ以上のアプリケーションによるものです。)
ああ、私は このウェブページ を見つけました
注:Mac OS Xでは、デフォルトのPATHに/ usr/local/binは含まれていません。したがって、デフォルトのbashシェルを使用している場合は、これらのツールを使用する前に、export PATH =/usr/local/bin:$ PATHと入力(または/ etc/profileに含める)してください。
これは適切/不適切なことですか?自分が何をしているのか本当に理解していないと、システムファイルを編集するのに夢中になります。/usr/local/binはrootのみが書き込み可能であるため、セキュリティホールを開かないでしょうか?
奇妙なことに、エクスポートパスを追加しましたが、Dockから実行されるEclipseには影響がありません。また、私は パスに関するこのページ を見つけ、/ etc/pathsファイルには
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
それでもそれらのパスがEclipseに表示されない... $ PATHを出力するバイナリファイルを作成/検索する簡単な方法はあります。これは、Dockから実行できるため、これをより簡単にデバッグできますか? Eclipseがパスに干渉するかどうかはわかりません。
OSXでシステム全体に変数を設定する場合は、変数を〜/ .MacOSX/environment.plistファイルに配置する必要があります。
詳細は Appleウェブサイト のこのページ)を参照してください。
数年後に答えを探している人のために(ネオン、酸素):
MacOSターミナルで$ PATHエントリが欠落しているため、Eclipseのノードおよびangular/angular2ツールの一部が失敗しました。ツールは、ログイン/ユーザーシェルの提供を開始しない組み込みEclipseターミナルを適切に利用します。したがって、ユーザーのPATH設定を構成するには、Eclipse設定でEclipseターミナルを--login Shellとして開始するように設定する必要があります。
移動:
Preferences -> Terminal -> Local Terminal
そして設定
Arguments
to:--login
eclipse内で新しいターミナルを開き、ユーザーの$ PATHを今後使用する必要があります。また、〜/ .bash_profileに設定したすべてのものが、Eclipseで新しいターミナルを開くときに実行されます。
同じ問題がありました。これが私の解決策です:
/etc/paths
ファイルを編集して、目的の追加パスを含めます。
OSXインストールの場合、/Applications/Eclipse/eclipse
not/Applications/Eclipse/Eclipse.app
を実行します
Eclipse(「Mars」でテスト済み)を使用している場合は、「実行構成」を変更できます。
これで、Eclipseはシステムと同じ値をPATH環境変数に使用します。注意:これは、選択した実行構成にのみ当てはまります。
質問ですでに述べたように、Javaでチェックインします。
System.getenv();
ほとんどの場合、bashログインスクリプトの1つ(.bashrc
または.bash_profile
) 変わってきている $PATH
。端末からEclipseを起動すると、/usr/local/bin
そのパスに?
または、アプリケーションを指す/usr/local
ディレクトリへのシンボリックリンクを追加することもできます。
例えば。 root
として実行:
ln -s /Applications/PhantomJS/phantomjs-1.9.2-macosx/bin/phantomjs/usr/local/phantomjs
これは、Eclipseで Mavenプロジェクト 内から外部 PhantomJS アプリケーションを(mvn test)実行するのに役立ちました。
上記のこのヒントは私にとっては機能します:1)/ etc/pathsにルートとしてパスを追加します2)$ ECL_HOME/Eclipse.appの代わりに$ ECL_HOME/Eclipse.app/Contents/MacOS/EclipseでEclipseを起動します
/etc/launchd.conf
に行を追加してコンピューターを再起動すると、グローバルosxパスを変更できます。
setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
OSX 10.8および10.9で動作します
https://serverfault.com/questions/16355/how-to-set-global-path-on-os-x/277034#277034
Eclipse NEON、mac OS X 10.11.6
Eclipseのターミナルはmvn
コマンドを使用できません。(mvn
のソフトリンクを1つ作成します/usr/local/bin
)
一時的なソリューション:
右クリック /Applications/Eclipse
->パッケージの内容を表示->内容-> MacOS-> Eclipse
をダブルクリックして開始します。
この方法でEclipseを起動すると、Eclipseはすべてのパス設定を検出でき、Eclipseターミナルでmvn
コマンドを使用できます。
このフォルダのEclipse
を右クリックしてエイリアスを作成すると、便利に起動できます。
なぜ今なのかわかりません。これは1つのEclipseバグであると思います。
いくつかの答えをまとめて、簡単なものに更新します。
これにより、Eclipseの生の出力を表示する便利なターミナルウィンドウが開くだけでなく、ログインシェルで設定したパスが自動的に採用されます。
したがって、通常の方法のいずれかを使用してパスを設定できます(編集/etc/paths
または~/.bash_profile
またはmbed
)のような適切に動作するコマンドラインツールをインストールするだけで、心配する必要はありません。ターミナルから呼び出すことができれば、Eclipseも呼び出すことができます。
~/.bash_profile
パスを含める
ランチパッドで開始する代わりに、
ターミナルを開いて起動
/Applications/Eclipse.app/Contents/MacOS/Eclipse
それは私にとってはトリックでした。