Ant 1.9.3 및 Tomcat 버전 8.0을 사용하고 있습니다. 나는 manager
자격 증명을 사용하여 아파치 톰캣에서 개미 deploy
타겟을 사용하여 웹 앱을 배포하고 있습니다. deploy
대상은 다음과 같은 예외와 함께 실패합니다 내가 tomcat-util.jar
에있는 패키지 org\apache\tomcat\util\codec\binary\
에서 클래스 Base64
을 찾기 위해 노력하고, 내가 Ant 빌드에서 에코 검증 한 클래스 경로에Ant를 사용하여 웹 응용 프로그램을 배포하면 NoClassDefFoundError가 발생합니다.
java.lang.NoClassDefFoundError:
org/apache/tomcat/util/codec/binary/Base64
at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalina
Task.java:204)
at org.apache.catalina.ant.DeployTask.execute(DeployTask.java:196)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
cutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.codec.binary
.Base64
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 19 more
파일.
문제를 해결할 수 없습니다.
문제를 해결하기 위해 우리가 사용하고있는 ANT를 제공해야합니다. 항아리가 클래스 경로에 있음을 나타내지 만 JVM 오류는 그렇지 않다고 표시합니다. 나는 그것이 바람둥이 "배포"작업이 빌드에서 선언 된 방식으로 문제가 의심됩니다. –
1.9.4에서도이 문제가 발생했습니다. 아래 텍스트를 path.xml 파일의 build.xml 파일에 추가했지만 이전과 똑같은 오류가 발생했습니다. tomcat-util.jar 파일의 내부를 보는 방법을 잘 모르겠다. OP가했던 것처럼, Java 바이트 코드라고 생각하지 않고서 어떻게 검증해야하는지 모르겠다. 사용하는 튜토리얼의 [link] (http://docs.spring.io/docs/Spring-MVC-step-by-step/part1.html)는 다음과 같습니다. 내가 위조 한 몇 가지 미묘한 버전 오류가 있습니다. 이 것은 사용자가 '개미 목록'을 호출 할 것을 요구할 때 맨 아래쪽으로옵니다. – kurofune