Как мне загрузить Spring Boot Application в wildfly?

Я создал приложение в Spring и хотел бы, чтобы оно работало в wildfly. Это НЕ веб-приложение, поэтому упаковка - это баночка.

При запуске jboss сообщает, что загрузил его:

14:50:42,899 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0003: Processing weld deployment APPLICATION_cnp.jar
14:50:42,949 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0006: Starting Services for CDI deployment: cnp.ear
14:50:43,031 INFO  [org.jboss.weld.Version] (MSC service thread 1-2) WELD-000900: 2.2.16 (SP1)
14:50:43,066 INFO  [org.jboss.weld.deployer] (MSC service thread 1-3) WFLYWELD0009: Starting weld service for deployment cnp.ear
14:50:45,517 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0010: Deployed "cnp.ear" (runtime-name : "cnp.ear")

Точкой входа для приложения является этот класс:

//@Configuration
//@ComponentScan
//@EnableAutoConfiguration
//3 above added as per https://stackru.com/questions/35786401/
@SpringBootApplication
//3 below added to try and get java EE to bootstrap the app
//@Startup
//@Singleton
//@ApplicationScoped
public class CNPApplication {

private static final Logger log = LoggerFactory.getLogger(CNPApplication.class);

public static void main(String[] args) throws Exception {
    SpringApplication.run(CNPApplication.class);
}

public CNPApplication() {
    System.out.println("CNPApplication instantiated");
}

@PostConstruct
public void bootstrap() {
    System.out.println("CNPApplication bootstrap");
    SpringApplication.run(CNPApplication.class);

}

}

Мой файл POM выглядит так:

<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>com.mycompany</groupId>
<artifactId>APPLICATION_cnp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>APPLICATION_cnp</name>
<description>Courtesy Notification Processor</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
    <relativePath/> 
</parent>

<properties>
    <java.version>1.8</java.version>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>

<dependencies>
   <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

Я развернул его как часть EAR. Консоль администратора wildfly показывает развертывание под названием cnp.earс вложенным размещением APPLICATION_cnp.jar,

System.out.println звонки в CNPApplication класс не называется. Я перепробовал все аннотации в начале класса, и я попытался добавить beans.xml. После добавления beans.xml при запуске я получаю трассировку стека: Unable to resolve a bean for 'javax.persistence.EntityManager' - По этой ссылке я решил эту проблему, удалив beans.xml, поскольку это приводит к конфликту CDI JAVA EE с пружиной.

Как я могу заставить вещь работать?

0 ответов

Другие вопросы по тегам