gpt4 book ai didi

java - Jersey 2.0 "Getting Started"指南,未找到 mainClass

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:34 25 4
gpt4 key购买 nike

您好,我正在尝试关注 Getting Started guide Jersey 2.0。

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

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

所以mvn clean test 毫无问题地通过了,但是当我尝试运行 mvn clean exec:java 我回来了

[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 是通过以下命令创建的:

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

我唯一添加的内容如下:

<repositories>
<repository>
<id>java.net.repo</id>
<url>https://maven.java.net/content/groups/promoted/</url>
<layout>default</layout>
</repository>
</repositories>

如果有兴趣,这是 mvn -version

的输出
 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"

最佳答案

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

mvn clean compile exec:java

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

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

<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<scope>test</scope>
</dependency>

收件人:

<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
</dependency>

关于java - Jersey 2.0 "Getting Started"指南,未找到 mainClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com