Alles funktioniert gut, wenn ich die Anwendung starte:
- in Eclipse
- nach dem MVN-Clean-Paket durch java -jar ...
Wenn ich mvn clean verwende spring-boot:run Die Anwendung schlägt fehl mit:
Code: Select all
java.util.zip.ZipException: zip END header not found
at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1649) ~[na:na]
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1657) ~[na:na]
at java.base/java.util.zip.ZipFile$Source.(ZipFile.java:1495) ~[na:na]
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1458) ~[na:na]
at java.base/java.util.zip.ZipFile$CleanableResource.(ZipFile.java:724) ~[na:na]
at java.base/java.util.zip.ZipFile.(ZipFile.java:251) ~[na:na]
at java.base/java.util.zip.ZipFile.(ZipFile.java:180) ~[na:na]
at java.base/java.util.jar.JarFile.(JarFile.java:345) ~[na:na]
at java.base/sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:100) ~[na:na]
at java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) ~[na:na]
at java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:153) ~[na:na]
at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:109) ~[na:na]
at java.base/sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:70) ~[na:na]
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindPathMatchingJarResources(PathMatchingResourcePatternResolver.java:834) ~[spring-core-6.2.0.jar:6.2.0]
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:710) ~[spring-core-6.2.0.jar:6.2.0]
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:350) ~[spring-core-6.2.0.jar:6.2.0]
at org.springframework.context.support.AbstractApplicationContext.getResources(AbstractApplicationContext.java:1549) ~[spring-context-6.2.0.jar:6.2.0]
at org.springframework.context.support.GenericApplicationContext.getResources(GenericApplicationContext.java:263) ~[spring-context-6.2.0.jar:6.2.0]
at spring.classpatheval.demo.SpringClasspathWeirdness$ClasspathDemo.run(SpringClasspathWeirdness.java:32) ~[classes/:na]
at org.springframework.boot.SpringApplication.lambda$callRunner$5(SpringApplication.java:788) ~[spring-boot-3.4.0.jar:3.4.0]
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:82) ~[spring-core-6.2.0.jar:6.2.0]
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60) ~[spring-core-6.2.0.jar:6.2.0]
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:86) ~[spring-core-6.2.0.jar:6.2.0]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:796) ~[spring-boot-3.4.0.jar:3.4.0]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:787) ~[spring-boot-3.4.0.jar:3.4.0]
at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:772) ~[spring-boot-3.4.0.jar:3.4.0]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:772) ~[spring-boot-3.4.0.jar:3.4.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:325) ~[spring-boot-3.4.0.jar:3.4.0]
at spring.classpatheval.demo.SpringClasspathWeirdness.main(SpringClasspathWeirdness.java:19) ~[classes/:na]
Code: Select all
package spring.classpatheval.demo;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.ResourcePatternResolver;
public class SpringClasspathWeirdness {
@SuppressWarnings("resource")
public static void main(String[] args) {
final SpringApplication toRun = new SpringApplication(ClasspathDemo.class);
toRun.run(args);
}
@SpringBootApplication
public static class ClasspathDemo implements CommandLineRunner {
private static final Logger log = LoggerFactory.getLogger(SpringClasspathWeirdness.ClasspathDemo.class);
@Autowired
private ResourcePatternResolver resourceLoader;
@Override
public void run(String... args) throws Exception {
final Resource[] gitFiles;
try {
gitFiles = resourceLoader.getResources("classpath*:/*.json");
} catch (IOException e) {
log.error("on getting git information from classpath", e);
return;
}
for (Resource r : gitFiles) {
System.err.println(r.getFilename());
}
System.exit(0);
}
}
}
Code: Select all
pom.xml
Code: Select all
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.4.0
spring.classpatheval
democlasspath
0.0.1-SNAPSHOT
Demo Application
Demo project for Spring Boot Application Info
21
spring.classpatheval.demo.SpringClasspathWeirdness
com.graphql-java-generator
graphql-java-client-runtime
2.8
com.graphql-java-generator
graphql-java-client-dependencies
com.graphql-java-generator
graphql-java-common-runtime
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-graphql
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework
spring-webflux
test
org.springframework.graphql
spring-graphql-test
test
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-source-plugin
attach-sources
package
jar-no-fork
Das habe ich getan Grenzen Sie das Problem auf die Abhängigkeit ein
Code: Select all
com.graphql-java-generator
graphql-java-client-runtime
2.8
Code: Select all
com.graphql-java-generator
graphql-java-client-dependencies
com.graphql-java-generator
graphql-java-common-runtime
Code: Select all
@Value("classpath*:/git-*.json")
private Resource[] gitFiles;