启动应用程序时,如何在没有任何异常的情况下使用FOP和Spring Boot?

启动应用程序时,如何在没有任何异常的情况下使用FOP和Spring Boot?,spring,spring-boot,apache-fop,Spring,Spring Boot,Apache Fop,使用ApachFop在Java中从XML创建PDF时遇到问题 当Spring加载上下文(从开始)时,我得到一个java.io.FileNotFoundException: 我做错了什么? 也许我应该使用另一个库来创建PDF。 我认为有些事情与gradle的依赖关系不符。你没有做错任何事。类路径上有一个jar(来自Xalan),清单中有一个类路径条目,指向一些不存在的jar。可以说,这个罐子是错的 Tomcat正在尝试在启动应用程序时查找JSP标记库定义(TLD)。它警告您,它无法找到一些罐子,因

使用ApachFop在Java中从XML创建PDF时遇到问题

当Spring加载上下文(从开始)时,我得到一个java.io.FileNotFoundException:

我做错了什么? 也许我应该使用另一个库来创建PDF。
我认为有些事情与gradle的依赖关系不符。

你没有做错任何事。类路径上有一个jar(来自Xalan),清单中有一个
类路径
条目,指向一些不存在的jar。可以说,这个罐子是错的

Tomcat正在尝试在启动应用程序时查找JSP标记库定义(TLD)。它警告您,它无法找到一些罐子,因此无法扫描它们

警告是良性的,因此您可以选择忽略它们。但这可能不是很令人满意

或者,您可以将Tomcat的TLD扫描配置为跳过带有错误清单的jar。在Spring Boot中,您可以使用
server.tomcat.additional tld skip patterns
属性配置:

以逗号分隔的附加模式列表,这些模式与TLD扫描要忽略的JAR相匹配。模式中可以使用特殊的“?”和“*”字符来分别匹配一个且仅匹配一个字符和零个或多个字符

该值应该类似于
xalan-*.jar

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.1.RELEASE)

2019-12-06 15:08:26.995  INFO 8744 --- [           main] d.a.s.RestserviceVonKundeApplication     : Starting RestserviceVonKundeApplication on DESKTOP-JJCROQS with PID 8744 (D:\Workspace\ikar\build\classes\java\main started by annpo in D:\Workspace\ikar)
2019-12-06 15:08:26.997  INFO 8744 --- [           main] d.a.s.RestserviceVonKundeApplication     : No ....
....
....
2019-12-06 15:08:28.487  WARN 8744 --- [           main] o.a.tomcat.util.scan.StandardJarScanner  : Failed to scan [file:/C:/Users/annpo/.gradle/caches/modules-2/files-2.1/xalan/xalan/2.7.2/d55d3f02a56ec4c25695fe67e1334ff8c2ecea23/xercesImpl.jar] from classloader hierarchy

java.io.FileNotFoundException: C:\Users\annpo\.gradle\caches\modules-2\files-2.1\xalan\xalan\2.7.2\d55d3f02a56ec4c25695fe67e1334ff8c2ecea23\xercesImpl.jar (Das System kann die angegebene Datei nicht finden)
    at java.util.zip.ZipFile.open(Native Method) ~[na:1.8.0_191]
    at java.util.zip.ZipFile.<init>(ZipFile.java:225) ~[na:1.8.0_191]
    at java.util.zip.ZipFile.<init>(ZipFile.java:155) ~[na:1.8.0_191]
    at java.util.jar.JarFile.<init>(JarFile.java:166) ~[na:1.8.0_191]
    at java.util.jar.JarFile.<init>(JarFile.java:130) ~[na:1.8.0_191]
    at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:177) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
    at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:65) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
    at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49) ~[tomcat-embed-core-

2019-12-06 15:08:28.488  WARN 8744 --- [           main] o.a.tomcat.util.scan.StandardJarScanner  : Failed to scan [file:/C:/Users/annpo/.gradle/caches/modules-2/files-2.1/xalan/xalan/2.7.2/d55d3f02a56ec4c25695fe67e1334ff8c2ecea23/xml-apis.jar] from classloader hierarchy

java.io.FileNotFoundException: C:\Users\annpo\.gradle\caches\modules-2\files-2.1\xalan\xalan\2.7.2\d55d3f02a56ec4c25695fe67e1334ff8c2ecea23\xml-apis.jar (Das System kann die angegebene Datei nicht finden)
    at java.util.zip.ZipFile.open(Native Method) ~[na:1.8.0_191]
    at java.util.zip.ZipFile.<init>(ZipFile.java:225) ~[na:1.8.0_191]
    at java.util.zip.ZipFile.<init>(ZipFile.java:155) ~[na:1.8.0_191]
    at java.util.jar.JarFile.<init>(JarFile.java:166) ~[na:1.8.0_191]
    at java.util.jar.JarFile.<init>(JarFile.java:130) ~[na:1.8.0_191]
............
.................
..................
2019-12-06 15:08:28.489  WARN 8744 --- [           main] o.a.tomcat.util.scan.StandardJarScanner  : Failed to scan [file:/C:/Users/annpo/.gradle/caches/modules-2/files-2.1/xalan/xalan/2.7.2/d55d3f02a56ec4c25695fe67e1334ff8c2ecea23/serializer.jar] from classloader hierarchy

java.io.FileNotFoundException: C:\Users\annpo\.gradle\caches\modules-2\files-2.1\xalan\xalan\2.7.2\d55d3f02a56ec4c25695fe67e1334ff8c2ecea23\serializer.jar (Das System kann die angegebene Datei nicht finden)
    at java.util.zip.ZipFile.open(Native Method) ~[na:1.8.0_191]
    at java.util.zip.ZipFile.<init>(ZipFile.java:225) ~[na:1.8.0_191]
    at java.util.zip.ZipFile.<init>(ZipFile.java:155) ~[na:1.8.0_191]
    at java.util.jar.JarFile.<init>(JarFile.java:166) ~[na:1.8.0_191]
    at java.util.jar.JarFile.<init>(JarFile.java:130) ~[na:1.8.0_191]
    at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:177) ~[tomcat-embed-core-9.0.27.jar:9.0.27]

...................
....................
.................
plugins {
    id 'org.springframework.boot' version '2.2.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.8.RELEASE'
    id 'java'
}

group = 'de.anna.springboot.ikar'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
}

repositories {
    mavenCentral()
}

dependencies {

    implementation "org.springframework.boot:spring-boot-starter-data-jpa"
    implementation "org.springframework.boot:spring-boot-starter-web"
    implementation "org.springframework.boot:spring-boot-starter-web-services"
    implementation "org.springframework.boot:spring-boot-starter-tomcat"
    compile "org.apache.tomcat.embed:tomcat-embed-jasper"
    compile "javax.servlet:jstl:1.2"
    compile "com.h2database:h2"
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    compile "org.apache.tiles:tiles-core:3.0.8"
    compile "org.apache.tiles:tiles-api:3.0.8"
    compile "org.apache.tiles:tiles-servlet:3.0.8"
    compile "org.apache.tiles:tiles-jsp:3.0.8"
    compile "org.apache.tiles:tiles-request-api:1.0.6"
    compile "org.apache.xmlgraphics:fop:2.3"
    compile "junit:junit:4.12"
    compile "org.wiztools:xsd-gen:0.2.1"
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
}

test {
    useJUnitPlatform()
}