2017-02-11 4 views
0

スプリングブート付きのjarファイルを作成するには、クラスの1つがクラスパスからテキストファイルを読み込む必要があります。ここで'Null'へのストリームとしてのクラスローダーリソース、スプリングブートマイクロサービスjar BOOT-INF

InputStream fp = this.getClass().getClassLoader().getResourceAsStream("install/release-2.2.0-SNAPSHOT/schema/Create-Index.xml"); 

問題は、FPは「ヌル」を返している..ですコードの一部であり、NULLポインタ例外は、その用途にスローされます。ここで

はジャー内容は..です

**jar tvf target/orchestrationservice.jar | grep install** 
    0 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/ 
    0 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/ 
    0 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/predecessors/ 
    0 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/predecessors/release-2.2.0/ 
    0 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/ 
    633 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/predecessors/release-2.2.0/orchestration_upgrade_set_version.cql 
    910 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/predecessors/release-2.2.0/Upgrade-Index.xml 
    706 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/Prod-Index.xml 
    1108 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/Create-Index.xml 
    465 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/orchestration_3.0_fresh_install_schema.cql 
    1356 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/orchestration_3.0_fresh_install_tables.cql 
    28 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/orchestration_3.0_fresh_install_tables_data.cql 
    651 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/orchestration_3.0_fresh_install_tables_idx.cql 
    296 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/release-3.0.0/schema/orchestration_3.0_set_version.cql 
    2135 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/StepExecutionOrder.xml 
    128 Fri Feb 10 19:19:06 PST 2017 BOOT-INF/classes/install/UpgradePaths.xml 

スイッチング春ブーツのバージョン、BOOT-INF /クラス/ **が導入された後。以前は/ classes/**だったので、リソースは正常にロードされました。

BOOT-INFを使用してリソースを読み込む方法を教えてください。

答えて

0

これは、あなたが探しているものです:

"インストール/リリース-2.2.0-SNAPSHOT /スキーマ/作成-INDEX.XML" を

これはあなたのjarファイルに何であります-file:

"BOOT-INF /クラス/インストール/リリース-3.0.0を/スキーマ/作成-INDEX.XML"

また、Springを使用する場合は、クラスパスからファイルを取得するときにはorg.springframework.core.io.ClassPathResourceを使用する方が慣れています。

+0

通常、クラスパスリソースは、/ classes/*の後に検索されます。私たちは、全体の権利を言及する必要はありません。 ? –

+0

明示的にrelease-2.2.0-SNAPSHOTを持っていれば、リリース3.0.0が見つかりません – Buhb

+0

ファイル名が間違っています。ありがとうBuhb。 –

関連する問題