Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 泽西岛2.0“;“入门”;向导,找不到mainClass_Java_Maven_Jersey_Jersey 2.0 - Fatal编程技术网

Java 泽西岛2.0“;“入门”;向导,找不到mainClass

Java 泽西岛2.0“;“入门”;向导,找不到mainClass,java,maven,jersey,jersey-2.0,Java,Maven,Jersey,Jersey 2.0,嗨,我正试着跟随2.0版的球衣 我按原样执行了步骤1.1和1.2。没问题 对于步骤1.3,我遇到了一个问题,因为maven找不到javax注释1.2,但我按照建议解决了这个问题,并在我的pom中添加了一个存储库 所以mvn clean测试顺利通过,但当我尝试运行mvn clean exec:java时,我又回来了 [WARNING] java.lang.ClassNotFoundException: com.example.Main at java.net.URLClassLoader$

嗨,我正试着跟随2.0版的球衣

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

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

所以
mvn clean测试
顺利通过,但当我尝试运行
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
我所做的唯一补充是:


java.net.repo
https://maven.java.net/content/groups/promoted/
违约
如果感兴趣,这是
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犯的错误
mvncleaneexec:java
说:“删除所有.class文件,然后尝试运行
Main
.class文件”。既然你删除了它,Maven就找不到了。这里有一个解决方案:

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

要克服您将看到的下一个错误,请从pom.xml中的客户机依赖项中删除
test
行:

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

org.glassfish.jersey.core
泽西岛客户
测试
致:


org.glassfish.jersey.core
泽西岛客户

您是否有一个名为
Main
的类?yeap,默认情况下由maven在src/Main/java/com/example下创建。事实上,有两个类是自动创建的Main.java和MyResource.java(在用户指南中描述)谢谢。我不知道maven,但我假设exec:java将依赖于compile。然而,在任何情况下,即使从pom.xml中删除了范围,我现在也得到了一堆java.lang.NoClassDefFoundError:org/glassfish/jersey/client/ClientConfig。我认为泽西岛的入门指南不是为初学者准备的:-@user2465039阅读我答案的底部。它展示了如何解决这个问题。谢谢!我删除了错误的范围:-)但是需要有人更新指南。我会投你的票,但我在这里还没有足够的分数:-)伟大的答案,就像一个魅力!我很惊讶泽西岛的官方文档有这么多的bug。
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
</dependency>