让Eclipse Juno,maven 2.2.1和m2eclipse在Red Hat Linux平台上运行......
下载了一个简单的例子来构建一个Restful Hello World Web服务(它可以在我的OS X计算机上运行),但由于一些奇怪的原因,它不能在我的Linux机器上运行。
这是pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mkyong.common</groupId>
<artifactId>RESTfulExample</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>RESTfulExample Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>maven2-repository.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
<build>
<finalName>RESTfulExample</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
当我尝试从命令行发出mvn编译时:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building RESTfulExample Maven Webapp
[INFO] task-segment: [compile]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: null:jersey-server:bundle:null
Reason: Cannot find parent: com.sun.jersey:jersey-project for project: null:jersey -server:bundle:null for project null:jersey-server:bundle:null
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Thu Nov 15 17:07:16 PST 2012
[INFO] Final Memory: 8M/309M
[INFO] ------------------------------------------------------------------------
有没有人遇到过这个问题?我不明白它在我的OS X计算机上是如何工作的,但在Linux上却不行(我认为这不是问题)。
感谢您抽出宝贵时间阅读本文。
答案 0 :(得分:4)
我会完全删除pom.xml文件中的整个repositories
元素。这样maven将使用标准的中央存储库。然后将jersey-server的版本更改为1.15(最新版本)。
该java.net存储库中的最新泽西日期为2011年8月,而标准的中央maven存储库的版本为1.15,日期为2012年10月30日。
我怀疑它在一台机器而不是另一台机器上运行的原因是在你的〜/ .m2 / repository缓存中你在一台机器上有好的缓存文件而在另一台机器上没有。可能需要删除整个〜/ .m2 / repository / com / sun / jersey层次结构并重建。你可能在那里损坏了文件。