app.propertiesにはYmirアプリケーション固有の情報が記述されています。記述されているほとんどの情報は自動生成関連の情報ですが、一部Ymir自身の挙動に関する設定もあります。
app.propertiesに記述できる設定には以下のものがあります。
| キー | 説明 | デフォルト値 |
|---|---|---|
| projectRoot | アプリケーションの開発プロジェクトディレクトリのファイルパス。 | |
| ignorePackageNames | HOT Deploy対象外クラスのパッケージ名。複数指定する際は「,」で区切ること。 | |
| webappSourceRoot | Webアプリケーションのトップディレクトリに対応するディレクトリのプロジェクトルート相対パス。 | /src/main/webapp |
| rootPackageName | アプリケーションのJavaソースコードのルートパッケージ名。 | |
| resourcesDirectory | アプリケーションのリソースのソースコードが格納されているディレクトリのプロジェクトルート相対パス。 | /src/main/resources |
| sourceDirectory | アプリケーションのJavaソースコードが格納されているディレクトリのプロジェクトルート相対パス。 | /src/main/java |
| templateEncoding | HTMLテンプレートの文字エンコーディング。 | UTF-8 |
| conversation.disableBeginCheck | trueの場合、あるconversationに属するページにbeginせずに遷移してきてもエラーにならなくなります。主に単体テスト用のプロパティです。 | false |
| conversation.useSessionScopeAsConversationScope | trueの場合、conversationスコープの代わりにsessionスコープにオブジェクトを保存したりsessionスコープからオブジェクトを取り出したりするようになります。主に単体テスト用のプロパティです。 | false |
| core.requestParameter.strictInjection | リクエストパラメータのインジェクションを厳格にするかどうか。trueの場合、@RequestParameterアノテーションが付与されたメソッドに対してしかインジェクトしません。falseの場合、Seasar2によってコンポーネントのインジェクションに使われるメソッドや@Inアノテーションが付与されたメソッドや@Protectedアノテーションが付与されたメソッド以外の全てのGetter/Setterに対してインジェクションされます。 | false |
| extension.sourceCreator.enable | 自動生成機能を有効にするかどうか。falseの場合、自動生成機能が全て無効になります。 | true |
| extension.sourceCreator.enable.PATH | PATH で指定したコンテキスト相対パスについて自動生成機能を有効にするかどうか。falseの場合、そのパスに対応する画面に関しては自動生成を行ないません。 | true |
| extension.sourceCreator.useFreyjaRenderClasses | 自動生成時にFreyjaの画面レンダリング関連のクラスを利用するかどうか。trueの場合、Dtoが必要なケースでFreyjaの画面レンダリング関連のクラスが利用できそうな場合はDtoクラスを自動生成せず、Freyjaのクラスを利用するようなコードを生成します。 | false |
| extension.sourceCreator.superclass | 自動生成されるPageクラスの親クラス。Pageクラスを生成する場合、generation-gapパターンに従ってBaseクラスとGapクラスが生成されますが、Baseクラスの親クラスを指定したい場合はこのプロパティで指定します。 | |
| extension.sourceCreator.superclass.PATTERN | クラス名のFQCNが PATTERN で指定したパターンにマッチするPageクラスを自動生成する場合、そのPageクラスのBaseクラスの親クラスとしてこのプロパティで設定されたクラスが指定されます。 | |
| extension.sourceCreator.fieldSpecialPrefix | 自動生成されるクラスのフィールド名を制御したい場合に使用します。フィールド名に何のprefixもsuffixもつけたくない場合、このプロパティの値を「this.」として下さい。 | |
| extension.sourceCreator.fieldPrefix | 自動生成されるクラスのフィールド名を制御したい場合に使用します。このプロパティで指定した文字列がフィールド名のprefixとして付与されます。 | |
| extension.sourceCreator.fieldSuffix | 自動生成されるクラスのフィールド名を制御したい場合に使用します。このプロパティで指定した文字列がフィールド名のsuffixとして付与されます。 | _ |
| extension.sourceCreator.enableInplaceEditor | 開発モード時にWebブラウザ上でテンプレートを編集する機能を有効にするかどうか。falseの場合、Webブラウザ上でのテンプレート編集機能が無効になります。 | true |
| extension.sourceCreator.feature.createMessage.enable | メッセージ文字列が存在しない場合の自動生成機能を有効にするかどうか。 | true |
| extension.sourceCreator.feature.createMessages.enable | Messagesコンポーネントが存在しない場合の自動生成機能を有効にするかどうか。 | true |
| extension.sourceCreator.feature.createFormDto.enable | 「フォームにname属性が指定されている場合にフォームに対応するDtoを生成する機能」を有効にするかどうか。 | false |
| extension.sourceCreator.feature.createConverter.enable | DtoをEntityと相互変換するためのConverterクラスを自動生成するかどうか。trueの場合、Dtoと指定したEntityの相互変換を行なうようなConverterクラスを自動生成します。相互変換にS2Dxoを利用したくない時などに有効です。 | false |