EclipseからIntelliJに、またはその逆に移行する場合は、プロパティファイルやその他のリソースファイルを操作する際のヒントを参考にしてください。
厄介なことです(調べるのに一晩かかります)が、IDEからローカルで実行する場合やデバッグ中にリソース/プロパティファイルを検索する場合、両方のIDEの動作はまったく異なります。(.jarへのパッケージ化もまったく異なりますが、ドキュメント化されています)。
コードに次のような相対パス参照があるとします。
new FileInputStream("xxxx.properties");
(JARと一緒にパッケージ化したくない環境固有の.propertiesファイルを操作する場合に便利です)
INTELLIJ
(私は13.1を使用していますが、より多くのバージョンで有効になる可能性があります)
IntelliJでこのように実行時にピックアップするには、ファイルxxxx.propertiesがプロジェクトROOTのPARENTディレクトリにある必要があります。(プロジェクトROOTは/ srcフォルダーがある場所です)
エクリプス
xxxx.propertiesファイルがプロジェクトのROOT自体にある場合、Eclipseは満足しています。
したがって、IntelliJは、このように参照されると、.propertiesファイルがEclipseよりも1レベル高いと想定します。
これは、エクスポートした.jarに同じコード行(new FileInputStream( "xxxx.properties");)がある場合にコードを実行する方法にも影響します。俊敏になりたい、jarと.propertiesファイルをパッケージ化したくない場合は、コマンドラインから.propertiesファイルを正しく参照するために、以下のようにjarを実行する必要があります。
INTELLIJ EXPORTED JAR
java -cp "/path/to_properties_file/:/path/to_jar/some.jar" com.bla.blabla.ClassContainingMainMethod
ECLIPSE EXPORTED JAR
java -jar some.jar
Eclipseでエクスポートされた実行可能jarは、参照される.propertiesファイルが.jarファイルがある場所と同じ場所にあることを期待します。