0

既存のアプリケーションをSpring-Data-Neo4j 3.xから4.1へneo4j-ogm 2.0.4を使用して移行しています。 いくつかの障害を克服した後、IDEから直接起動すると正常に動作しています。Springブートを使用したNeo4j-Ogm:実行可能なjarとして配備されたクラスパススキャンでDomainEntitiesが見つかりません

私は春ブーツ実行可能なjarファイルを経由して、それを実行したときに、それがどのDomainEntitiesを見つけることができません。ただし、次の実行可能なjarファイルは、jarファイルを実行可能にすることを可能に春ブーツのGradleプラグインを使用して構築されて

(ClassPathScanner.java:132) Classpath elements: 
(ClassPathScanner.java:134) D:\Programme\Project\myProject.jar 
(DomainInfo.java:108)   Starting Post-processing phase 
(DomainInfo.java:74)   Building annotation class map 
(DomainInfo.java:87)   Building interface class map for 0 classes 
(DomainInfo.java:136)   Checking for @Transient classes.... 
(DomainInfo.java:155)   Registering converters and deregistering transient fields and methods.... 
(DomainInfo.java:159)   Post-processing complete 
(DomainInfo.java:69)   0 classes loaded in 40179 milliseconds 

springBoot { 
    executable = true 
} 

私は時に瓶が開始リモートデバッグを経由してアプリに取り付けられ、org.neo4j.ogm.scanner.ClassPathScanner#scanだけclassPathElementとしての私のjarファイルが含まれていることを発見しました。コードによれば、これはzip/jarファイルとしてスキャンされるはずです。ただし、classPathElement.isFile()が実行された場合、これはfalseと評価され、jarはスキップされます。 それはなぜですか?実行可能なjarはファイルではありませんか?

これを実行するにはどのような手順が必要ですか?私はおそらく他のデプロイメントメカニズムを使用することもできますが、これはかなりシンプルでうまく機能しています。

答えて

0

私はもう少し調査をしましたが、これは実行可能な瓶にはまったく関係がないことが判明しました。実際には、jarファイルへのパスにスペースがあるために発生しました。

私はそれが完全に有効なケースだと思うし、なぜこれがうまくいかないのか分かりません。私の場合は、それぞれのフォルダの名前を変更してスペースを削除するだけでも問題ありませんでした。

+0

ここで問題をログしてください。https://github.com/neo4j/neo4j-ogm/issues – Luanne

+0

確か:https://github.com/neo4j/neo4j-ogm/issues/220 – geld0r

関連する問題