簡體   English   中英

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

[英]Jersey 2.0 “Getting Started” guide, mainClass not found

嗨,我正在嘗試按照Jersey 2.0的入門指南

我按原樣執行了步驟1.1和1.2。 沒問題。

對於步驟1.3,我有一個問題,因為maven找不到javax-annotation 1.2但是我按照另一個Stackoverflow用戶的建議解決了它並在我的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" 

我能夠重現你的錯誤。 這與澤西沒有任何關系; 這是你用Maven制作的一個錯誤。 mvn clean exec:java說:“刪除所有.class文件,然后嘗試運行Main .class文件”。 由於你刪除了它,Maven找不到它。 這是一個解決方案:

mvn clean compile exec:java

這應該可以解決您問題中的問題。 這說“刪除所有.class文件,從源代碼重新編譯它們,然后嘗試運行Main .class文件”

要了解您將看到的下一個錯誤,請從pom.xml中的客戶端依賴項中刪除<scope>test</scope>行:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM