/Start-inf/Klassen (keine solche Datei oder Verzeichnis) im Spring Boot Java-ProjektJava

Java-Forum
Anonymous
 /Start-inf/Klassen (keine solche Datei oder Verzeichnis) im Spring Boot Java-Projekt

Post by Anonymous »

In Versuchen, ein eigenständiges Glas zu machen, das ich sauber und unabhängig starten kann, habe ich Probleme mit Jersey und meinem wünschenswerten, fetten Glas gestoßen. Das endgültige Glas wird in ein Docker -Bild verschoben. < /P>

Der Fehler, den ich bekommeCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.glassfish.jersey.server.ResourceConfig]: Factory method 'jerseyResourceConfig' threw exception; nested exception is org.glassfish.jersey.server.internal.scanning.ResourceFinderException: java.io.FileNotFoundException: /dir/myproject-1.0.0-SNAPSHOT.jar!/BOOT-INF/classes (No such file or directory)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
... 48 common frames omitted
Caused by: org.glassfish.jersey.server.internal.scanning.ResourceFinderException: java.io.FileNotFoundException: /dir/myproject/target/myproject-1.0.0-SNAPSHOT.jar!/BOOT-INF/classes (No such file or directory)
at org.glassfish.jersey.server.internal.scanning.JarZipSchemeResourceFinderFactory.create(JarZipSchemeResourceFinderFactory.java:89)
at org.glassfish.jersey.server.internal.scanning.JarZipSchemeResourceFinderFactory.create(JarZipSchemeResourceFinderFactory.java:65)
at org.glassfish.jersey.server.internal.scanning.PackageNamesScanner.addResourceFinder(PackageNamesScanner.java:282)
at org.glassfish.jersey.server.internal.scanning.PackageNamesScanner.init(PackageNamesScanner.java:198)
at org.glassfish.jersey.server.internal.scanning.PackageNamesScanner.(PackageNamesScanner.java:154)
at org.glassfish.jersey.server.internal.scanning.PackageNamesScanner.(PackageNamesScanner.java:110)
at org.glassfish.jersey.server.ResourceConfig.packages(ResourceConfig.java:680)
at org.glassfish.jersey.server.ResourceConfig.packages(ResourceConfig.java:660)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 49 common frames omitted
Caused by: java.io.FileNotFoundException: /dir/myproject/target/myproject-1.0.0-SNAPSHOT.jar!/BOOT-INF/classes (No such file or directory)
< /code>

Hier ist mein Build -Profil in meiner POM -Datei: < /p>


d2

false


jar
logs

./conf




org.springframework.boot
spring-boot-maven-plugin



my.com
myArtifact






repackage







< /code>

Schließlich sind hier alle Jersey -Abhängigkeiten, die ich verwende: < /p>

org.springframework.boot:spring-boot-starter-jersey:jar:1.5.12.RELEASE:compile
| | +- org.glassfish.jersey.core:jersey-server:jar:2.25.1:compile
| | | +- org.glassfish.jersey.core:jersey-client:jar:2.25.1:compile
| | | +- org.glassfish.jersey.media:jersey-media-jaxb:jar:2.25.1:compile
| | +- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.25.1:compile
| | +- org.glassfish.jersey.ext:jersey-bean-validation:jar:2.25.1:compile
| | +- org.glassfish.jersey.ext:jersey-spring3:jar:2.25.1:compile
| | \- org.glassfish.jersey.media:jersey-media-json-jackson:jar:2.25.1:compile
| | +- org.glassfish.jersey.ext:jersey-entity-filtering:jar:2.25.1:compile
................................................................................
| | +- org.glassfish.jersey.connectors:jersey-apache-connector:jar:2.17:compile
................................................................................
| \- io.swagger:swagger-jersey2-jaxrs:jar:1.5.6:compile
| +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.25.1:compile
| | +- org.glassfish.hk2.external:javax.inject:jar:2.5.0-b32:compile
| | \- org.glassfish.jersey.core:jersey-common:jar:2.25.1:compile
| | +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.25.1:compile
| \- org.glassfish.jersey.media:jersey-media-multipart:jar:2.25.1:compile
< /code>

Ich habe alle Quellen gelesen, auf die aus dieser Frage verwiesen wird. Ich wurde durch ein paar Github -Probleme geführt, die sowohl Spring als auch Jersey anscheinend behoben haben, aber ich habe immer noch mit diesen Komplikationen zu tun.
Das Einzigartige an meiner Komplikation ist, dass sich die nicht gefundenen Boot-Inf /Klassen direkt in meinem Glas befinden und das Projekt selbst verweisen. Es beschwert sich nicht über ein anderes, abhängig von Jar, das sich über die eigenen /boot-inf/classes.

beliebige zusätzliche Erkenntnisse, die in der oben genannten Frage nicht erwähnt werden, sehr nützlich sind! Ich finde, dass Java in Docker unglaublich schwieriger ist als jeder andere Stapel, den ich erlebt habe (Python-Django und Node-Js). Lassen Sie mich wissen, ob weitere Informationen erwünscht sind.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post