首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jersey 2.0“入门”指南,找不到mainClass

Jersey 2.0“入门”指南,找不到mainClass
EN

Stack Overflow用户
提问于 2013-06-08 05:41:11
回答 1查看 5.4K关注 0票数 10

嗨,我正在尝试跟随泽西2.0的Getting Started guide

我按原样执行了步骤1.1和1.2。这没问题。

对于步骤1.3,我遇到了一个问题,因为maven找不到javax注释1.2,但我按照建议of another Stackoverflow user解决了这个问题,并在我的pom中添加了一个存储库。

所以mvn clean test通过了,没有问题,但是当我尝试运行mvn clean exec:java时,我返回了

代码语言:javascript
复制
[WARNING] java.lang.ClassNotFoundException: com.example.Main
    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)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:285)
at java.lang.Thread.run(Thread.java:722)

pom.xml是通过以下命令创建的:

代码语言:javascript
复制
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 \
-DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
-DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example \
-DarchetypeVersion=2.0

其中,我唯一添加的内容如下:

代码语言:javascript
复制
<repositories>
  <repository>
    <id>java.net.repo</id>
    <url>https://maven.java.net/content/groups/promoted/</url>
    <layout>default</layout>
  </repository>
</repositories>

如果您感兴趣,这是mvn -version的输出

代码语言:javascript
复制
 Apache Maven 3.0.4 (r1232337; 2012-01-17 10:44:56+0200)
 Maven home: /usr/share/maven
 Java version: 1.7.0_21, vendor: Oracle Corporation
 Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre
 Default locale: el_GR, platform encoding: UTF-8
 OS name: "mac os x", version: "10.8.3", arch: "x86_64", family: "mac" 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-08 06:14:24

我能够重现你的错误。这与Jersey无关;这是您在使用Maven时犯的错误。mvn clean exec:java说:“删除所有的.class文件,然后尝试运行Main .class文件”。因为你删除了它,Maven找不到它。这里有一个解决方案:

代码语言:javascript
复制
mvn clean compile exec:java

这应该可以解决你问题中的问题。这意味着“删除所有的.class文件,从源代码重新编译它们,然后尝试运行Main .class文件”。

要跳过您将看到的下一个错误,请从pom.xml中的客户端依赖项中删除<scope>test</scope>行:

代码语言:javascript
复制
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <scope>test</scope>
</dependency>

至:

代码语言:javascript
复制
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
</dependency>
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16993399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档