休眠错误:初始化方法失败;嵌套的异常是org.hibernate.boot.archive.spi.ArchiveException:无法生成ClassFile

时间:2019-07-18 03:41:30

标签: java spring maven java-8

我正在尝试使用我创建的REST API部署后端应用程序。当我从控制台运行时,程序运行得很好,但是当我尝试创建一个jar文件并执行它时,程序运行得很好。当我尝试运行从maven项目创建的jar文件时遇到很多错误,但是由于此Hibernate错误,我无法执行jar文件。我尝试将依赖项添加到pom.xml文件中,但是似乎没有任何作用。

我删除了Hibernate-core文件夹中的重复文件,并且已修复了一些错误,但仍然出现存档异常错误。 错误消息

    log4j: Adding appender named [consoleAppender] to category [root].
    18 Jul 2019 12:05:21  INFO Version - HV000001: Hibernate Validator 6.0.17.Final

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

    18 Jul 2019 12:05:22  INFO MainRun - Starting MainRun v4.0.0 on LAPTOP-SBPKOCKV with PID 2744 (C:\Internship2019\examples-master\ctakes-web-client\target\ctakes-web-client.jar started by user in C:\Internship2019\examples-master\ctakes-web-client\target)
    18 Jul 2019 12:05:22  INFO MainRun - No active profile set, falling back to default profiles: default
    18 Jul 2019 12:05:23  INFO TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
    Jul 18, 2019 12:05:23 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service [Tomcat]
    Jul 18, 2019 12:05:23 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet engine: [Apache Tomcat/9.0.21]
    Jul 18, 2019 12:05:24 PM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring embedded WebApplicationContext
    18 Jul 2019 12:05:24  INFO ContextLoader - Root WebApplicationContext: initialization completed in 1781 ms
    18 Jul 2019 12:05:24  INFO EmbeddedDatabaseFactory - Starting embedded database: url='jdbc:hsqldb:mem:testdb', username='sa'
    18 Jul 2019 12:05:24  INFO LogHelper - HHH000204: Processing PersistenceUnitInfo [
            name: default
            ...]
    18 Jul 2019 12:05:24  INFO Version - HHH000412: Hibernate Core {5.3.10.Final}
    18 Jul 2019 12:05:24  INFO Environment - HHH000206: hibernate.properties not found
    18 Jul 2019 12:05:24  INFO Version - HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
    18 Jul 2019 12:05:24  WARN AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.boot.archive.spi.ArchiveException: Could not build ClassFile
    18 Jul 2019 12:05:24  INFO EmbeddedDatabaseFactory - Shutting down embedded database: url='jdbc:hsqldb:mem:testdb'
    Jul 18, 2019 12:05:24 PM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service [Tomcat]
    18 Jul 2019 12:05:24  INFO ConditionEvaluationReportLoggingListener -

    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    18 Jul 2019 12:05:24 ERROR SpringApplication - Application run failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.boot.archive.spi.ArchiveException: Could not build ClassFile
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
<repository>
    <id>apache.snapshots</id>
    <name>Apache Development Snapshot Repository</name>
    <url>https://repository.apache.org/content/repositories/snapshots/</url>
    <releases>
        <enabled>false</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>
</repositories>


    <dependencies>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>9.2.10.v20150310</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.jayway.jsonpath</groupId>
            <artifactId>json-path</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>ctakes-web-client</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>org.apache.ctakes.web.client.servlet.MainRun</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

1 个答案:

答案 0 :(得分:0)

检查您的依赖关系树(确保使用详细命令显示重复项)。

mvn dependency:tree -Dverbose

然后,排除任何不在休眠状态的 javassist 。例如:

<dependency>
<groupId>xxx.xxxxxxxx</groupId>
<artifactId>xxxxxxx</artifactId>
<version>${version}</version>
<exclusions>
    <exclusion>
        <artifactId>javassist</artifactId>
        <groupId>org.javassist</groupId>
    </exclusion>
</exclusions>

其中: 您在依赖关系树上标识的groupId中的“ xxx.xxxxxxxx”。 您在依赖关系树上标识的artifactId中的“ xxxxxxx”。