Netbeans には、com.foo.bar と com.foo.baz という 2 つの Maven プロジェクトがあります。
com.foo.bar は com.foo.baz の依存関係です。
bar
+-src
| +-main
| +-java
| | +-com
| | +-foo
| | +-bar
| | +-App.java
| +-resources
| +-com
| +-foo
| +-bar
| +-config.properties
+-target
| +-classes
| +-com
| +-foo
| +-bar
| +-App.class
| +-config.properties
+-pom.xml
Netbeans で、クリックしてプロジェクト baz->dependencies->bar->com.foo.bar を展開すると、bar/target/classes/com/foo/bar と同じ内容が表示されます。大丈夫だと思います。
com.foo.bar には行があります
// print current directory
System.out.println(new File(".").getAbsolutePath());
// load config files
Properties conf = new Properties();
conf.load(new FileInputStream(config.properties));
com.foo.baz は似ていますが、何もありませんresources/
。依存関係のある com.foo.bar と com.foo.baz をビルドしてから com.foo.baz を実行すると、
/home/user/NetBeansProjects/baz/.
java.io.FileNotFoundException: config.properties (No such file or directory)
これはクラスパスの問題ですか、それとも何ですか? Maven がこれを処理するべきではありませんか?