プロジェクトにSpringConfiguration Javaファイルがあります(つまり、@Configuration
アノテーション付き)。今、私はSpringLiquibase
このクラスのBeanを作成しています。変更ログのメインファイル、つまりdb.changelog.xml
ファイルはリソースフォルダにあります。したがって、メソッドresources
を使用すると、フォルダから直接アクセスできますspringLiquibaseObj.setChangeLog("classpath:db.changelog.xml");
。しかし、私はからのアクセス、他のXMLファイルにしようとするdb.changelog.xml
と、ファイル
<include file="src/main/config/db/db.changelog-main.xml" />
Iは、フォルダとファイルが見つからないというエラーが表示されます。
ここでは、db.changelog.xml
ファイルをresources
フォルダーに保持し、他のすべての新しい変更ログファイルをconfig
フォルダー内に保持します。これらのファイルはresources
。と同じレベルである必要があります。その理由は、resources
フォルダ内にパッケージが存在するため、フォルダ構造config/1.0.0
が不要と見なされるconfig/1/0/0
ためです。
私のプロジェクトで現在設定されているものでこの構造(以下に表示)を実現する方法はありますか?
- 設定
- 1.0.0
- db.changelog.201412120101.xml
- 1.1.0
- 2.0.0
- リソース
- db.changelog.xml
または
- 設定
- 1.0.0
- db.changelog.201412120101.xml
- 1.1.0
- 2.0.0
- db.changelog.xml
- リソース
私はこれに対する解決策を見つけました。これまで、フォルダsrc/main/config
をsrc/main/resouces
netbeansにコピーしていたので、そのフォルダをパッケージとして受け取りました。そのため、フォルダ名config/db/1.0.0
はに変更されましたがconfig/db/1/0/0
、フォルダ内に新しいフォルダを作成するresources
と、それは機能し、フォルダ内のすべてのファイルに1.0.0
正しくアクセスできます。今、私のフォルダ構造は次のようになっています:
- リソース
- 設定
- db
- 1.0.0
- db.changelog.201412120101.xml
- 1.1.0
- 2.0.0
- db.changelog.xml
私がアクセスできるdb.changelog.xml
ように私の春のクラスからファイルを、springLiquibaseObj.setChangeLog("classpath:db.changelog.xml");
から、その他のchangelogファイルdb.changelog.xml
、などのファイル<include file="classpath:config/db/1.0.0/db.changelog-201412120101.xml" relativeToChangelogFile="false" />
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加