javac -sourcepath オプションのポイントは何ですか?
ファイル Ball.java とファイル Eight.java があるとします。次の実行に違いはないようです。
javac Eight.java lib/pool/Ball.java
と
javac Eight.java -sourcepath lib
クラスパスは、ソースをいじる必要のない開発者にクラスファイルを配布するだけでよいことを意味するため、私には理にかなっていますが、ソースが自分のものである場合にのみソースを持っている/必要とする可能性が高いと思います内部プロジェクトなので、なぜそれが必要なのか理解できません。
クラスではなく、ソースコードの大規模なリポジトリを持っている人はいますか?
さらなるテストから、 -sourcepath はクラスパスのようにソースの最終更新日を考慮に入れていないことを確認したため、ビルド中の時間を節約することさえできなかった. -classpath を使用する場合と同様に、.class ファイルが存在しないのにソースが存在する場合、または .java ファイルが .class ファイルよりも新しい場合は、.class ファイルがビルドされますが、ソースパス上のソース ファイルは関係なく再ビルドされます。彼らがどれほど新しいか。また、-sourcepath と -classpath の両方が指定されている場合、ソース ファイルが新しい場合にのみ再構築するクラスパスのアクションが実行されるため、ソースパスとクラスパスを指定してもまったく意味がないように見えます。また、-sourcepath と -classpath の両方が解決に必要なソース ファイルのみをビルドすることを確認するためにテストしました。
-sourcepath のポイントは怠惰によるものですか(すべてのソースファイルを抽出して指定したくない)? また、-classpath よりも -sourcepath を使用する利点はありますか? それらは同じことをしているように見えますが、ソースを再構築する必要がないときに時間を節約することで、クラスパスのパフォーマンスが向上します。