私は、SMB操作を行うためにjcifsライブラリを使用するスタンドアロンのJavaアプリケーションを持っています。スタンドアロンアプリケーションはスプリングブートを使用します。このアプリケーションは正常に動作し、要件を満たすことができます。spring boot埋め込みのTomcatはjcifs smbライブラリで始まらない
このスタンドアロンアプリケーションを安らかなサービスに変換する必要があります。私はこうして埋め込まれた風袋を持つ春の起動スターターを使用しました。変換されたアプリケーションはうまくコンパイルされますが、アプリケーションを起動すると、埋め込みのTomcatは起動せず、以下のエラーが発生します。 私はjcifsライブラリを含めるように問題を絞りました。私がそれを削除すると、組み込みのTomcatは正常に起動し、それをインクルードすると、以下のエラーが表示されます。次のように ザ・JCIFS依存性がある: コンパイルグループ:「JCIFS」、名前:「JCIFS」、バージョン:「1.3.17」
私は問題や任意の任意のポインタ何ができるか教えてください。私は非常にタイトなタイムラインに逆らって走っているので、どんな助けや指針も非常に高く評価されます。
エラーがある: 2017年10月9日22:50:50.189 INFO 1780 --- [メイン] org.apache.catalina.core.StandardEngine:サーブレットエンジンを始動:Apache Tomcatの/ 8.5.5 2017- 10-9 22:50:50.470 ERROR 1780 --- [cat-startStop-1] org.apache.catalina.core.ContainerBase:起動中に子コンテナが失敗しました
java.util.concurrent.ExecutionException:org。コンポーネントを起動できませんでした。[StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext []] at java.util.concurrent.FutureTask.report(FutureTask.java:122)[na:1.8.0_144] のjava.util.concurrent.FutureTask.get(FutureTask.java:192)[na:1.8.0_144] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:911)〜[Tomcat-embed-core-8.5.5.jar:8.5.5] at org.apache.catalina.core.StandardHost。 startInternal(StandardHost.java:890)[Tomcat-embed-core-8.5.5.jar:8.5.5] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[tomcat-embed- core-8.5.5.jar:8.5.5] at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1403)[tomcat-embed-core-8.5.5.jar:8.5.5 ] at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1393)[tomcat-embed-core-8.5.5.jar:8.5.5] at java.util.concurrent.FutureTask。 run(FutureTask.java:266)[na:1.8.0_144] at 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)(スレッド:java:748)[na:1.8.0_144] 原因:org.apache.catalina.LifecycleException:コンポーネント[StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext []] をorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)で起動できませんでした。 [Tomcat-embed-core-8.5.5.jar:8.5.5] ... 6つの共通フレームが省略されました 原因:org.apache.catalina.LifecycleException:コンポーネント[Pipeline [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext []]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)[Tomcat-embed-core-8.5.5.jar:8.5.5] at org。 apache.catalina.core.StandardContext.startInternal(StandardContext.j ava:5099)〜[tomcat-embed-core-8.5.5.jar:8.5.5] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[tomcat-embed-core-8.5 .5.jar:8.5.5] ... 6つの共通フレームが省略されました 原因:org.apache.catalina.LifecycleException:コンポーネント[org.apache.catalina.authenticator.NonLoginAuthenticator []] をorgで起動できませんでした。 apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)[Tomcat-embed-core-8.5.5.jar:8.5.5] at org.apache.catalina.core.StandardPipeline。startInternal(StandardPipeline.java:170)〜[Tomcat-embed-core-8.5.5.jar:8.5.5] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[Tomcat-embed -core-8.5.5.jar:8.5.5] ... 8個の共通フレームが省略されました 原因:java.lang.NoSuchMethodError:javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; at org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1122)〜[Tomcat-embed-core-8.5.5.jar:8.5.5] at org.apache.catalina.util.LifecycleBase。 start(LifecycleBase.java:150)[tomcat-embed-core-8.5.5.jar:8.5.5] ... 10個の共通フレームが省略されました
以下はグラデルファイルです。私はgradle 2.10.0バージョンを使用しています。あなただけのJCIFSライブラリから「サーブレットAPI」の依存関係を除外する必要があり
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'
}
Ueslei Limaが提供するソリューションは、私が欲しかったのとまったく同じように機能しています。どうもありがとう。私は答えとして以下の返答をマークすることはできません。 – pankajkk