最近、クラスパス リソースを通常のファイルのように開くことができると想定している一部のコードが原因で、バグが発生しました。このコードは、Maven と Eclipse の両方で想定が成り立つため、合格した単体テストでカバーされました。しかし、本番環境では、そのコードはサービスの WAR の JAR にあり、明らかに機能しませんでした。
バグを修正しましたが、再発しないようにする方法がわからないため、満足していません。
最近、クラスパス リソースを通常のファイルのように開くことができると想定している一部のコードが原因で、バグが発生しました。このコードは、Maven と Eclipse の両方で想定が成り立つため、合格した単体テストでカバーされました。しかし、本番環境では、そのコードはサービスの WAR の JAR にあり、明らかに機能しませんでした。
バグを修正しましたが、再発しないようにする方法がわからないため、満足していません。
単体テストはSurefireを使用して実行されます。これはパッケージング中に発生しmvn test
、「テスト」はパッケージング前に発生します。ただし、 の後にテストを実行する場合は、 Failsafemvn package
を使用する必要があります。
クラスパスの構成に関する非常に関連性の高いドキュメントを次に示します。デフォルトでは、クラスパスに配置されますが、 classesDirectoryを他のディレクトリに${project.build.outputDirectory}
設定することでそれを防ぐことができるはずです。次に、独自の jar をadditionalClasspathElementsまたは依存関係ToScan として追加できます。