次のようなマルチモジュールMavenプロジェクトがあります。
reactor
| core
| console
| custom-maven-plugin (depends on core)
| test-deployment
ベース名が
login
のリソースバンドルがありますパスワードが含まれているため、Gitから除外します。私のプロジェクトでは、ファイルは
core/src/test/resources
にありますそして、私はそれを次のように使用するテストクラスを持っています:
public abstract class TestBase {
private static final ResourceBundle constants = ResourceBundle.getBundle("constants");
private static final ResourceBundle bundle = ResourceBundle.getBundle("login");
private Connection connection;
// ...
Connection getConnection() {
// Connection will be created in another method, this one just returns it.
}
}
public class ActualTest extends TestBase {
// Uses the connection in tests here.
}
今、
mvn package
を実行するとプロジェクト全体で、テストはすべて正しく終了します。
ビルドサーバーには、
login.properties
を作成するスクリプトがあります
、クローンプロジェクトに含まれていないため:
printf "userName=$bamboo_login_userName\npassword=$bamboo_login_password" > core/src/test/resources/login.properties
ビルドサーバーが
mvn clean release:prepare release:perform
を実行しました
、しかしこの時点で、ビルドはこの例外に失敗します:
java.util.MissingResourceException: Can't find bundle for base name login, locale en_US
すでにディレクトリ
core/src/test/resources
を確認しましたそして
core/target/test-classes
、しかしファイルはそこにあります。何らかの理由で、
constants
のリソースバンドル例外をスローしません。これは、ログインファイルの作成方法に問題があることを示しています。
この動作について説明はありますか?
回答 1 件
関連記事
- Androidアプリ:リリースバンドルでのみ表示されるバグ
- クラスローダーのバンドルリソースパスとは何ですか?そのパスにアクセスするにはどうすればよいですか?
- 2つのクラス内での国際化。リソースバンドル
- Android Studioで、すでにリリースされている署名済みAPKを使用してアプリバンドルを構築することはできますか? Playストアのapkをアプリバンドルに移行したい
- 不適切なリソースのシャットダウンまたはリリース
- React Native 0605 iOSリリースビルドにアップグレードすると、「バンドルURLがありません」というエラーが表示される
- Java 8 Resource Bundleがすぐに作成されたファイルを見つけられない
関連した質問
- Mavenテストの実行
- EclEmmaとEclipseを使用して「カバレッジデータが収集されていません」というメッセージを取得する
- ローカルで変更があるため、リリースを準備できません:
- リスト内のすべてのアイテムに文字列の文字が含まれていることを確認する方法
- Mavenのインストール時に目標が指定されていない例外
- 目標orgapachemavenplugins:maven-compiler-plugin:381:compileの実行に失敗しました
- MavenのPowerMockito
- テストのログを表示するためのMavenのlog4j構成
- サービスのテストを作成する
- Mavenを使用してJARを構築するMANIFESTMFでメインクラスを指定するにはどうすればよいですか?
main
でlogin.propertiesを生成するべきではありませんかtest
の代わりに ?