我試圖按照此一pache CXF – JAX-WS – Simple Tutorial但建設下載樣品(!開箱)中的第一步失敗:解析讀取POM錯誤。原因:無法識別的標籤:「hibernate.annotations.version」
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: unknown
POM Location: C:\Users\introspective\Workspace\SampleWSCxfStub\pom.xml
Reason: Parse error reading POM. Reason: Unrecognised tag: 'hibernate.annotations.version' (position: START_TAG seen ...</packaging>\n \n \t<hibernate.annotations.version>... @8:34) for project unknown at C:\Users\introspective\Workspace\SampleWSCxfStub\pom.xml
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Parse error reading POM. Reason: Unrecognised tag: 'hibernate.annotations.version' (position: START_TAG seen ...</packaging>\n \n \t<hibernate.annotations.version>... @8:34) for project unknown at C:\Users\introspective\Workspace\SampleWSCxfStub\pom.xml
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException: Parse error reading POM. Reason: Unrecognised tag: 'hibernate.annotations.version' (position: START_TAG seen ...</packaging>\n \n \t<hibernate.annotations.version>... @8:34) for project unknown at C:\Users\introspective\Downloads\SampleWSCxfStub\pom.xml
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1610)
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1571)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506)
at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
... 12 more
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: Unrecognised tag: 'hibernate.annotations.version' (position: START_TAG seen ...</packaging>\n \n \t<hibernate.annotations.version>... @8:34)
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseModel(MavenXpp3Reader.java:2130)
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:3912)
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1606)
... 18 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Wed Jan 08 08:25:25 EST 2014
[INFO] Final Memory: 1M/15M
[INFO] ------------------------------------------------------------------------
任何想法這意味着什麼,爲什麼發生這種情況?
這是一個Maven問題嗎? Eclipse問題? CXF問題?休眠問題?項目配置問題? (原樣下載,爲什麼會這樣?)
如何解決這個錯誤,以便我可以繼續學習the basics of building a CXF-based client?
爲了您的方便(如果你不想下載the sample ZIP in the link),這裏是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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.areyes.sample.server</groupId>
<artifactId>SampleWSCxfStub</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<hibernate.annotations.version>3.3.1.GA</hibernate.annotations.version>
<hibernate.validator.version>3.0.0.GA</hibernate.validator.version>
<hibernate.commons.annotations.version>3.3.0.ga</hibernate.commons.annotations.version>
<hibernate.ejb3.persistence.version>1.0.2.GA</hibernate.ejb3.persistence.version>
<hibernate.version>3.2.6</hibernate.version>
</project>
更新:
擺脫「無法識別的標記」錯誤(感謝@ Tome的答案)後,我有一個不同的錯誤:
"annotations are not supported in -source 1.3 (use -source 5 or higher to enable annotations"
但我很快就能夠解決這個(再次,得益於@Tome小費)通過添加以下到pom.xml中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
那麼它只是放置了一個錯誤的標籤@你的POM第8行。它顯然缺少標籤;) –
Tome
@Tome謝謝!我要檢查一下,但在這樣做之前,我不禁要問:教程是不是應該緩解向新事物的過渡,而不是通過提供具有如此愚蠢的錯字的樣本來增加混淆? – Introspective
@Tome我用' '包圍了'
Introspective