2016-11-23 2 views
0

Я использую intellij и вместо того, чтобы вручную удалять баночку tomcat из военного файла, что является лучшим способом удалить их во время компиляции.Удаление встроенного сервера tomcat из файла war при развертывании в JBOSS [Spring-Boot]

мне это нужно сделать, потому что я получаю следующее сообщение об ошибке:

failure description: {"WFLYCTL0080: Failed services" =>  
{"jboss.undertow.deployment.default-server.default-host.\"/request-ws- 
0.0.1-SNAPSHOT\"" => "org.jboss.msc.service.StartException in service 
jboss.undertow.deployment.default-server.default-host.\"/request-ws- 
0.0.1-SNAPSHOT\": java.lang.RuntimeException: 
java.lang.ClassCastException: 
org.apache.tomcat.websocket.server.WsServerContainer cannot be cast to 
io.undertow.websockets.jsr.ServerWebSocketContainer 

Однако, когда я удалить все котом Jar является штраф.

Я использую Gradle, и я хочу УДАЛИТЬ tomcat, когда я запускаю его с помощью JBOSS. Однако, когда я запускаю его, используя весеннюю загрузку, я хочу/нуждаюсь в нем.

ответ

1

Если вы используете Maven, то вам необходимо установить масштаб зависимостей кота как provided в вашем pom.xml, как описано в http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging

<?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"> 
    <!-- ... --> 
    <packaging>war</packaging> 
    <!-- ... --> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <!-- ... --> 
    </dependencies> 
</project> 

пользователей Gradle должен использовать providedRuntime, как описано в http://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html.

... 
apply plugin: 'war' 

war { 
    baseName = 'myapp' 
    version = '0.5.0' 
} 

repositories { 
    jcenter() 
    maven { url "http://repo.spring.io/libs-snapshot" } 
} 

dependencies { 
    compile("org.springframework.boot:spring-boot-starter-web") 
    providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") 
    ... 
} 
+0

Я использую Gradle, и я хочу УДАЛИТЬ его, и у меня есть вышеуказанные зависимости. Однако, когда я запускаю его на BOSS, я не хочу его в военном файле, но когда я запускаю его, используя весеннюю загрузку, я это делаю. – Drew1208

+0

См. Мой отредактированный вопрос. – Drew1208

Смежные вопросы