2009-07-04 66 views
3

我用用下面的命令行Maven原型J2EE的简单生成一个失败的项目

mvn archetype:create -DgroupId=com.hardik -DartifactId=ActionBazaar -DarchetypeArtifactId=maven-archetype-j2ee-simple 

行家模板当我尝试创建的项目文件夹中,我得到内运行安装目标创建了一个J2EE的简单项目 有关站点模块中不存在的模型文件的错误。错误描述如下。

当我从根pom.xml中删除站点模块它工作。有没有适当的方法来纠正这个问题?

如果我想保留网站模块以便为我的项目制作网站该怎么办?

在这里的错误:

$ mvn install 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[ERROR] FATAL ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error building POM (may not be this project's POM). 


Project ID: unknown 

Reason: Could not find the model file '/home/hardik/projects/ActionBazaar/site'. for project unknown 


[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.reactor.MavenExecutionException: Could not find the model file '/home/hardik/projects/ActionBazaar/site'. for project unknown 
     at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:432) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:300) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) 
     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.ProjectBuildingException: Could not find the model file '/home/hardik/projects/ActionBazaar/site'. for project unknown 
     at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1585) 
     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:632) 
     at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:515) 
     at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:588) 
     at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:419) 
     ... 11 more 
Caused by: java.io.FileNotFoundException: /home/hardik/projects/ActionBazaar/site (No such file or directory) 
     at java.io.FileInputStream.open(Native Method) 
     at java.io.FileInputStream.<init>(FileInputStream.java:106) 
     at hidden.org.codehaus.plexus.util.xml.XmlReader.<init>(XmlReader.java:124) 
     at hidden.org.codehaus.plexus.util.xml.XmlStreamReader.<init>(XmlStreamReader.java:67) 
     at hidden.org.codehaus.plexus.util.ReaderFactory.newXmlReader(ReaderFactory.java:113) 
     at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1580) 
     ... 17 more 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: < 1 second 
[INFO] Finished at: Sat Jul 04 07:59:37 CEST 2009 
[INFO] Final Memory: 1M/4M 
[INFO] ---- 

回答

4

尝试更新你的Maven开始。尝试这种运行自己,我得到以下错误:

[WARNING] This goal is deprecated. Please use mvn archetype:generate instead 

除此之外,原型似乎并不甚至创建一个网站模块 - 如果你的LS,你会发现有,在-事实,没有“网站”目录,即没有模块 - 这就是为什么你会收到错误,这就是为什么移除网站可以解决问题。 当然,你仍然可以制作一个专门的网站模块 - 只需创建目录“网站”,并在其中放置一个简约的POM,这将让构建通过。

而且,正如我的想法,这里是这个问题的相关原型缺陷:MARCHETYPES-15。我建议你为它投票,然后'看'它什么时候会修复。

但就像我说的,只需添加一个最小pom的'site'目录就可以解决您的问题。但是你也必须找到一个'站点'模板。我建议从Sonatype(Maven的创建者)读取this excellent book

1

在工作区中的每个模块或项目中,确保pom.xml中的元素和元素包含相同的条目。在下面这个例子中,它是通用的。有了这个,它应该工作。

<artifactId>ad-common</artifactId> 
<packaging>jar</packaging> 
<version>0.0.1-SNAPSHOT</version> 
<name>ad-common</name>