최대 절전 모드를 사용하는 메이븐 내장 웹 응용 프로그램이 있습니다. 그것은 톰캣에서 성공적으로 실행되지만 jetty-maven-plugin
내에서 실행하면 다음과 같은 예외와 함께 실패합니다jetty-maven-plugin을 사용하여 webapp를 실행하면서 최대 절전 모드 오류가 발생했습니다.
java.lang.TypeNotPresentException: Type org.hibernate.collection.PersistentCollection not present
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:98)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:50)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:120)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:82)
at java.lang.Class.getGenericInterfaces(Class.java:794)
at org.springframework.core.GenericTypeResolver.doResolveTypeArguments(GenericTypeResolver.java:170)
at org.springframework.core.GenericTypeResolver.resolveTypeArguments(GenericTypeResolver.java:164)
<snip>
Caused by:
java.lang.ClassNotFoundException: org.hibernate.collection.PersistentCollection
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:50)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:120)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:82)
at java.lang.Class.getGenericInterfaces(Class.java:794)
org.hibernate.collection.PersistentCollection
웹 응용 프로그램에 이적 종속성으로 포함되어 hibernate-core
에 있습니다. Tomcat에 놓을 때 응용 프로그램이 올바르게 실행되므로 WAR에서 확실히 액세스 할 수 있습니다. 왜 jetty-maven-plugin
이 org.hibernate.collection.PersistentCollection
를 해결하기 위해 실패
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.3.v20120416</version>
<configuration>
<jettyXml>src/main/jetty/jetty-env.xml</jettyXml>
</configuration>
<dependencies>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
</plugin>
:
POM은 다음과 같은 플러그인 구성을 포함?