2014-09-08 9 views
0

웹 응용 프로그램과 함께 Tomcat 7.0.54를 시작할 때 예외가 발생합니다. 이 동일한 웹 애플리케이션은 Eclipse를 통해 Tomcat을 실행할 때 잘 실행됩니다. 나는 처음에는 전쟁 파일로, 그 다음에는 폭발적인 전쟁으로 배치했습니다. 예외는 Eclipse에서 실행되지 않을 때만 나타납니다. 나는 여러 플랫폼에서 그것을 시도했다.IllegalArgument : 웹 응용 프로그램을 배포 할 때 javax.inject-Extension-Name

이것은 매니페스트 파일을 통해 구문 분석 할 때 javax.inject 라이브러리가 tomcat 클래스 경로에없는 결과 일 수 있다고 생각하여 tomcat lib 디렉토리에 javax.inject.jar 파일을 추가했습니다 ... 같은 거래. 실제로 모든 파일에서 인수 값 "javax-inject-Extension-Name"을 찾을 수 없습니다.

본 사람이 있습니까, 아니면 제안이 있습니까?

감사합니다.

SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/rdf.service]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) 
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.IllegalArgumentException: javax.inject-Extension-Name 
    at java.util.jar.Attributes$Name.<init>(Attributes.java:464) 
    at java.util.jar.Attributes.getValue(Attributes.java:116) 
    at org.apache.catalina.util.ManifestResource.getRequiredExtensions(ManifestResource.java:185) 
    at org.apache.catalina.util.ManifestResource.processManifest(ManifestResource.java:154) 
    at org.apache.catalina.util.ManifestResource.<init>(ManifestResource.java:50) 
    at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:196) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5289) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 10 more 

답변

0

문제는 내가 github을 떼어 내고 maven으로 빌드 한 종속 항아리와 함께 끝나게되었습니다. 이 pom 파일은 maven jar 플러그인으로 jar를 빌드 할 때 addExtensions 옵션을 지정했습니다. 확장 기능 중 하나는 javax.inject ... 그러나 maven jar 플러그인은이를 java_inject-Extension-Name으로 바꾸지 만 확장 목록의 javax.inject로 남겨 둡니다.이 연결 끊김이 문제의 원인입니다.

이클립스에서 실행할 때,이 동일한 검증을해서는 안됩니다. Manifest.mf 파일에서 확장 프로그램을 사용하지 않고 jar 파일을 재구성하면 문제가 해결됩니다.