我正在尝试使用maven构建我的第一个servlet,但不知道我应该添加到POM中,以便servlet
我试图将以下依赖项添加到POM文件中(我在其中一篇文章中找到)。添加使我能够编译我的servlet但是当我尝试运行mvn包或测试我的JUnits时,我得到一个ClassFormatError:
Initial SessionFactory creation failed.java.lang.ClassFormatError:
Absent Code attribute in method that is not native or abstract
in class file javax/validation/Validation
pom.xml是:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<repository>
<id>java.net2</id>
<name>Repository hosting the Java EE 6 artifacts</name>
<url>http://download.java.net/maven/2</url>
</repository>
有人可以解释和指导吗?
由于 : - )
答案 0 :(得分:1)
首先,您可能想要关注上面的Senthil评论。
至于错误,这是因为指定的依赖项只有API(方法定义)而不是实现。
通常,实施由app服务器提供。因此,应用程序应该在实现Java EE 6的应用程序服务器中工作(如Glassfish)。
mvn package
不应该出现任何错误 - 包装前的test
阶段失败,如果您对使用mvn package -DskipTests
感兴趣,可以规避这一阶段。