2017-10-10 14 views
0

J'ai une application java autonome qui utilise la bibliothèque jcifs pour effectuer des opérations SMB. L'application autonome utilise le démarrage à ressort. Cette application fonctionne bien et est capable de répondre aux exigences.démarrage de démarrage embarqué tomcat ne démarre pas avec la bibliothèque de jcifs smb

Je dois convertir cette application autonome en un service reposant. J'ai donc utilisé un démarreur de démarrage à ressort avec tomcat intégré. L'application convertie compile bien mais quand je démarre l'application, le tomcat embarqué ne démarre pas et donne l'erreur ci-dessous. J'ai réduit le problème à l'inclusion de la bibliothèque jcifs. quand je l'enlève le tomcat embarqué commence bien et quand je l'inclue alors obtiens l'erreur ci-dessous. dépendance jcifs La est la suivante: groupe compilation: « » jcifs, le nom: « » jcifs version: « 1.3.17 »

S'il vous plaît laissez-moi savoir ce qui pourrait être le problème ou tout des pointeurs. Je cours contre une chronologie très serrée et ainsi toute aide/pointeurs sera très appréciée.

L'erreur est: 09/10/2017 22: 50: 50,189 INFO 1780 --- [principal] org.apache.catalina.core.StandardEngine: Démarrage Servlet Engine: Apache Tomcat/8.5.5 2017- 10-09 22: 50: 50.470 ERREUR 1780 --- [cat-startStop-1] org.apache.catalina.core.ContainerBase: Un conteneur enfant a échoué au démarrage

java.util.concurrent.ExecutionException: org. apache.catalina.LifecycleException: Echec de lancement composant [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext []] à java.util.concurrent.FutureTask.report (FutureTask.java:122) [na: 1.8.0_144] at java.util.concurrent.FutureTask.get (FutureTask.java:192) [na: 1.8.0_144] à org.apache.catalina.core.ContainerBase.startInternal (ContainerBase.java:911) ~ [tomcat-intégré-core-8.5.5.jar: 8.5.5] à org.apache.catalina.core.StandardHost. startInternal (StandardHost.java:890) [tomcat-embed-core-8.5.5.jar: 8.5.5] à l'adresse org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) [tomcat-embed- core-8.5.5.jar: 8.5.5] à org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1403) [tomcat-embed-core-8.5.5.jar: 8.5.5 ] à org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1393) [tomcat-embed-core-8.5.5.jar: 8.5.5] à java.util.concurrent.FutureTask. run (FutureTask.java:266) [na: 1.8.0_144] à java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) [na: 1.8.0_144] à java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) [na: 1.8.0_144] à java.lang.Thread.run (Thread.java:748) [na: 1.8.0_144] causés par: org.apache.catalina.LifecycleException: Impossible de démarrer le composant [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext []] à org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:167) [tomcat-intégré-core-8.5.5.jar: 8.5.5] ... 6 cadres communs omis causés par: org.apache.catalina.LifecycleException: Impossible de démarrer le composant [pipeline [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext []]] à org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:167) [tomcat-intégré-core-8.5.5.jar: 8.5.5] à org. apache.catalina.core.StandardContext.startInternal (StandardContext.j ava: 5099) ~ [tomcat-embed-core-8.5.5.jar: 8.5.5] à org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) [tomcat-embed-core-8.5 .5.jar: 8.5.5] ... 6 images courantes omises Causée par: org.apache.catalina.LifecycleException: Impossible de démarrer le composant [org.apache.catalina.authenticator.NonLoginAuthenticator []] at org. apache.catalina.util.LifecycleBase.start (LifecycleBase.java:167) [tomcat-embed-core-8.5.5.jar: 8.5.5] à org.apache.catalina.core.StandardPipeline.startInternal (StandardPipeline.java:170) ~ [tomcat-embed-core-8.5.5.jar: 8.5.5] à org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) [tomcat-embed -core-8.5.5.jar: 8.5.5] ... 8 images courantes omises Causée par: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName() Ljava/lang/String; à org.apache.catalina.authenticator.AuthenticatorBase.startInternal (AuthenticatorBase.java:1122) ~ [tomcat-embed-core-8.5.5.jar: 8.5.5] à org.apache.catalina.util.LifecycleBase. start (LifecycleBase.java:150) [tomcat-embed-core-8.5.5.jar: 8.5.5] ... 10 images courantes omises

Ci-dessous le fichier gradle. J'utilise la version graduelle 2.10.0.

buildscript { 
    repositories { 
     mavenCentral() 
     maven { url "http://repo1.maven.org/maven2" } 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.RELEASE") 
     classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1" 
    } 

} 
// Apply the java plugin to add support for Java 
apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'spring-boot' 
apply plugin: "org.sonarqube" 
apply plugin: 'jacoco' 

jar { 
    baseName = 'connectorservice' 
    version = '0.1.0' 
    manifest { 
     attributes 'Main-Class': 'com.uu.ff.connectorservice.main.Application' 
    } 
} 


repositories { 
    mavenCentral() 
    maven { url "http://repo1.maven.org/maven2" } 
} 


sourceCompatibility = 1.8 
targetCompatibility = 1.8 


// In this section you declare the dependencies for your production and test code 
dependencies { 

    compile('org.springframework.boot:spring-boot-starter-web') 
    compile('org.springframework.boot:spring-boot-starter-aop') 
    compile('org.springframework:spring-aspects') 
    compile("org.springframework.boot:spring-boot-starter-data-mongodb") 

    compile group: 'commons-io', name: 'commons-io', version: '2.5' 
    compile group: 'org.apache.commons', name: 'commons-vfs2', version: '2.1' 
    compile group: 'de.odysseus.staxon', name: 'staxon', version: '1.3' 

    testCompile("junit:junit") 
    testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: '1.6.4' 
    testCompile group: 'org.powermock', name: 'powermock-api-mockito', version: '1.6.4' 
    compile('org.springframework.boot:spring-boot-starter-test') 
    compile group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4' 
    compile group: 'jcifs', name: 'jcifs', version: '1.3.17' 

} 
+0

La solution fournie par Ueslei Lima a fonctionné exactement comme je le souhaitais. Merci beaucoup. Je ne suis pas en mesure de marquer ci-dessous réponse comme une réponse. – pankajkk

Répondre

0

Vous avez juste ne pas exclure la dépendance "servlet-api" de la bibliothèque jcifs, il est en conflit avec servlet par défaut tomcat api. Maven ce serait quelque chose comme:

<dependency> 
    <groupId>org.codelibs</groupId> 
    <artifactId>jcifs</artifactId> 
    <version>1.3.18.2</version> 
     <exclusions> 
      <exclusion> 
       <groupId>javax.servlet</groupId> 
       <artifactId>servlet-api</artifactId> 
      </exclusion> 
     </exclusions> 
</dependency> 

L'exclusion sert bien aussi lors de l'utilisation bibliothèque smb printemps-intégration.