Tengo una vainilla de la primavera de arranque de la aplicación que se compone de los siguientes pom.xml

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>xxx.alexius</groupId>
<artifactId>myapp</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>my app</name>
<description>Core Application Platform</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mobile</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-social-facebook</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-social-twitter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1201-jdbc41</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
</plugins>
</build>

Al implementar esta a un Tomcat todo funciona bien, pero cuando trato de implementar esto en un servidor Glassfish 4.1 servidor me da el siguiente error

SEVERE:   Class [ liquibase/integration/spring/SpringLiquibase ] not found. Error while loading [ class org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseConfiguration ]
SEVERE:   Exception while deploying the app [platform]
SEVERE:   Exception during lifecycle processing
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

Alguna idea sobre lo que va mal? Es un Manantial o Glassfish error?

es mvnrepository.com/artifact/org.liquibase/liquibase-core/3.2.2 en su classpath?
Bueno, no es mi pom así que probablemente no, pero la primavera-arranque debe tener todas las dependencias necesarias en su pom. El resto del proyecto un proyecto vacío y no tiene ningún código adicional. Sólo necesita implementar con ninguna funcionalidad para que yo pueda empezar a trabajar en él.
ejecutar mvn de dependencia:del árbol a ver si liquibase está en el classpath.
La primavera de Arranque hace algunos comprobación de las clases que están disponibles en la ruta de clases para determinar qué configuración automática para aplicar. Para esto se intenta cargar las clases y de las capturas de la ClassNotFoundExceptions. Así que me imagino que ya sea que el mecanismo no funciona en GlassFish (no sé por qué debería) o peces cristal está roto o incluye otras clases que interfieren con la clase de detecciones o de configuración automática.
He añadido la dependencia <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>3.3.2</version> y ahora tengo SEVERE: Exception while deploying the app [platform] SEVERE: Exception during lifecycle processing java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

OriginalEl autor Alexius Diakogiannis | 2015-04-03

1 Comentario

  1. 11

    Parece esto un error en Glassfish: GLASSFISH-21265

    Usted puede tratar de evitar que mediante la adición de metadata-complete="true" en su web.xml como este:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" 
    metadata-complete="true"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    </web-app>

    De los metadatos completos=»true» indica que los archivos JAR en
    /WEB-INF/lib no necesita ser explorado para Servlet 3.0 específicos
    anotaciones, pero la webapp propio de las clases aún serán analizados.

    Ver también:

    Puedo comprobar que esto funciona. Gracias!

    OriginalEl autor unwichtich

Dejar respuesta

Please enter your comment!
Please enter your name here