0

I'm trying to deploy a backend app with a REST API that I have created. Program runs perfectly fine when I'm running from my console however when I try to create a jar file and execute it. I am running into a lot of errors when I'm trying to run a jar file that I have created from my maven project, however I can't execute the jar file due to this Hibernate error. I've tried adding dependencies to my pom.xml file but nothing seems to be working.

I removed duplicated files in the Hibernate-core folder and some errors have been fixed but I still get an archive exception error. error message

    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>

Jojo
  • 1
  • 2
  • I feel like this might be the cause: https://stackoverflow.com/questions/27202939/could-not-build-classfile-archiveexception – Lichader Jul 18 '19 at 04:14
  • @Lichader I've read that post but I don't have any thymeleaf dependencies. – Jojo Jul 18 '19 at 04:16

1 Answers1

0

Check your dependency tree (make sure you use verbose command to show duplicates).

mvn dependency:tree -Dverbose

then, exclude any javassist that is not inside hibernate. For instance:

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

Where: "xxx.xxxxxxxx" from groupId that you identified on dependency tree. "xxxxxxx" from artifactId that you identified on dependency tree.