简体   繁体   中英

Maven pom.xml Problems (Project Build Error "version" is missing)

So the top part of my pom.xml looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<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</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>0.0.2-SNAPSHOT</version>
<name>GWT Maven Archetype</name>

However, at the first line I get the errors:

Project Build Error: version is missing

followed by the same phrase with artifactid , groupid and model version . I have no idea how to solve the problem, a friend of mine suggested setting the JAVA_HOME system variable which I did and set it to my JDK Path. Nothing changed though. Anything else I could try to solve this problem? I've also heard something considering the system variables and java.home but I did not really understand the difference and how to solve my problem with it.


Edit: Here is the complete pom:

<?xml version="1.0" encoding="UTF-8"?>
<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</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>0.0.2-SNAPSHOT</version>
<name>GWT Maven Archetype</name>

<properties>
    <!-- Convenience property to set the GWT version -->
    <gwtVersion>2.7.0</gwtVersion>

    <!-- GWT needs at least java 1.6 -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt</artifactId>
            <version>${gwtVersion}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-servlet</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-dev</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.googlecode.gwtupload</groupId>
        <artifactId>gwtupload</artifactId>
        <version>1.0.3</version>
    </dependency>
    <dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>de.novanic.gwteventservice</groupId>
        <artifactId>gwteventservice</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>3.3.1</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.8.1</version>
    </dependency>
    
    
</dependencies>

<build>
    <!-- Output classes directly into the webapp, so that IDEs and "mvn process-classes" 
        update them in DevMode -->
    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>

    <plugins>

        <!-- GWT Maven Plugin -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.7.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>test</goal>
                        <goal>generateAsync</goal>
                    </goals>
                </execution>
            </executions>
            <!-- Plugin configuration. There are many available options, see gwt-maven-plugin 
                documentation at codehaus.org -->
            <configuration>
                <runTarget>test.html</runTarget>
                <modules>
                    <module>com.test.test</module>
                </modules>
                <copyWebapp>true</copyWebapp>
                <sourceLevel>1.7</sourceLevel>
            </configuration>
        </plugin>
    </plugins>
</build>

This is the output of mvn package -X :

C:\Users\user\git\git>mvn package -X
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:3
7+02:00)
Maven home: C:\Users\user\Downloads\apache-maven-3.3.3-bin (1)\apache-maven-3.
3.3\bin\..
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_51\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG]   Imported: javax.enterprise.inject.* < plexus.core
[DEBUG]   Imported: javax.enterprise.util.* < plexus.core
[DEBUG]   Imported: javax.inject.* < plexus.core
[DEBUG]   Imported: org.apache.maven.* < plexus.core
[DEBUG]   Imported: org.apache.maven.artifact < plexus.core
[DEBUG]   Imported: org.apache.maven.classrealm < plexus.core
[DEBUG]   Imported: org.apache.maven.cli < plexus.core
[DEBUG]   Imported: org.apache.maven.configuration < plexus.core
[DEBUG]   Imported: org.apache.maven.exception < plexus.core
[DEBUG]   Imported: org.apache.maven.execution < plexus.core
[DEBUG]   Imported: org.apache.maven.execution.scope < plexus.core
[DEBUG]   Imported: org.apache.maven.lifecycle < plexus.core
[DEBUG]   Imported: org.apache.maven.model < plexus.core
[DEBUG]   Imported: org.apache.maven.monitor < plexus.core
[DEBUG]   Imported: org.apache.maven.plugin < plexus.core
[DEBUG]   Imported: org.apache.maven.profiles < plexus.core
[DEBUG]   Imported: org.apache.maven.project < plexus.core
[DEBUG]   Imported: org.apache.maven.reporting < plexus.core
[DEBUG]   Imported: org.apache.maven.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.rtinfo < plexus.core
[DEBUG]   Imported: org.apache.maven.settings < plexus.core
[DEBUG]   Imported: org.apache.maven.toolchain < plexus.core
[DEBUG]   Imported: org.apache.maven.usability < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.* < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authentication < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authorization < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.events < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.observers < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.proxy < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.resource < plexus.core
[DEBUG]   Imported: org.codehaus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.* < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.component < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.configuration < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.container < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.context < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.lifecycle < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.logging < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.personality < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < plexus.cor
e
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < p
lexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < plexus.cor
e
[DEBUG]   Imported: org.eclipse.aether.* < plexus.core
[DEBUG]   Imported: org.eclipse.aether.artifact < plexus.core
[DEBUG]   Imported: org.eclipse.aether.collection < plexus.core
[DEBUG]   Imported: org.eclipse.aether.deployment < plexus.core
[DEBUG]   Imported: org.eclipse.aether.graph < plexus.core
[DEBUG]   Imported: org.eclipse.aether.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.installation < plexus.core
[DEBUG]   Imported: org.eclipse.aether.internal.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.metadata < plexus.core
[DEBUG]   Imported: org.eclipse.aether.repository < plexus.core
[DEBUG]   Imported: org.eclipse.aether.resolution < plexus.core
[DEBUG]   Imported: org.eclipse.aether.spi < plexus.core
[DEBUG]   Imported: org.eclipse.aether.transfer < plexus.core
[DEBUG]   Imported: org.eclipse.aether.version < plexus.core
[DEBUG]   Imported: org.slf4j.* < plexus.core
[DEBUG]   Imported: org.slf4j.spi.* < plexus.core
[DEBUG] Populating class realm maven.api
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from C:\Users\user\Downloads\apache-maven-3.3.
3-bin (1)\apache-maven-3.3.3\bin\..\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\user\.m2\settings.xml
[DEBUG] Reading global toolchains from C:\Users\user\Downloads\apache-maven-3.
3.3-bin (1)\apache-maven-3.3.3\bin\..\conf\toolchains.xml
[DEBUG] Reading user toolchains from C:\Users\user\.m2\toolchains.xml
[DEBUG] Using local repository at C:\Users\user\.m2\repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for C:\U
sers\user\.m2\repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project com:test:war:0.0.2-SNAPSHOT: (none)
[DEBUG] Looking up lifecyle mappings for packaging war from ClassRealm[plexus.co
re, parent: null]
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'modelVersion' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[u
nknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7
.0.pom, line 2, column 27
[ERROR] 'groupId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknow
n-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.po
m, line 2, column 27
[ERROR] 'artifactId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unk
nown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0
.pom, line 2, column 27
[ERROR] 'version' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknow
n-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.po
m, line 2, column 27
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-servlet:jar is
missing. @ line 37, column 15
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-user:jar is mis
sing. @ line 42, column 15
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-dev:jar is miss
ing. @ line 47, column 15
 @
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountere
d while processing the POMs:
[ERROR] 'modelVersion' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[u
nknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7
.0.pom, line 2, column 27
[ERROR] 'groupId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknow
n-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.po
m, line 2, column 27
[ERROR] 'artifactId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unk
nown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0
.pom, line 2, column 27
[ERROR] 'version' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknow
n-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.po
m, line 2, column 27
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-servlet:jar is
missing. @ line 37, column 15
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-user:jar is mis
sing. @ line 42, column 15
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-dev:jar is miss
ing. @ line 47, column 15

        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBu
ilder.java:422)
        at org.apache.maven.graph.DefaultGraphBuilder.collectProjects(DefaultGra
phBuilder.java:419)
        at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor
(DefaultGraphBuilder.java:410)
        at org.apache.maven.graph.DefaultGraphBuilder.build(DefaultGraphBuilder.
java:83)
        at org.apache.maven.DefaultMaven.buildGraph(DefaultMaven.java:491)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:219)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
356)
[ERROR]
[ERROR]   The project com:test:0.0.2-SNAPSHOT (C:\Users\user\git\git\pom.xm
l) has 7 errors
[ERROR]     'modelVersion' is missing. @ [unknown-group-id]:[unknown-artifact-id
]:[unknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt
-2.7.0.pom, line 2, column 27
[ERROR]     'groupId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[un
known-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.
0.pom, line 2, column 27
[ERROR]     'artifactId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:
[unknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2
.7.0.pom, line 2, column 27
[ERROR]     'version' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[un
known-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.
0.pom, line 2, column 27
[ERROR]     'dependencies.dependency.version' for com.google.gwt:gwt-servlet:jar
 is missing. @ line 37, column 15
[ERROR]     'dependencies.dependency.version' for com.google.gwt:gwt-user:jar is
 missing. @ line 42, column 15
[ERROR]     'dependencies.dependency.version' for com.google.gwt:gwt-dev:jar is
missing. @ line 47, column 15
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildin
gException

( http://pastebin.com/vJPPdqDQ )

(Stackoverflow seems to only format it for a few lines and I always have to add four spaces again, I'm using the feature wrong I guess)

This seems like an error with the file structure. Your complete POM is pasted wrong so I can't really check it, perhaps you are not opening and closing the tag properly?

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="..." (...)>
...
</project>

EDIT: The POM is pasted properly now, indeed you have no project closing tag at the end.

According to the error in the build output:

...
[ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'modelVersion' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.pom, line 2, column 27
[ERROR] 'groupId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.pom, line 2, column 27
[ERROR] 'artifactId' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.pom, line 2, column 27
[ERROR] 'version' is missing. @ [unknown-group-id]:[unknown-artifact-id]:[unknown-version], C:\Users\user\.m2\repository\com\google\gwt\gwt\2.7.0\gwt-2.7.0.pom, line 2, column 27
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-servlet:jar ismissing. @ line 37, column 15
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-user:jar is missing. @ line 42, column 15
[ERROR] 'dependencies.dependency.version' for com.google.gwt:gwt-dev:jar is missing. @ line 47, column 15
...

there might be something corrupted in your C:\\Users\\user\\.m2\\repository\\com\\google\\gwt\\gwt\\2.7.0\\ directory (this happens sometimes, eg if the Internet connection breaks during a download of dependencies or for some other reasons which are nearly impossilbe to track down afterwards). Delete the directory|ies mentioned in the error messages and try the build again. If there are still errors, repeat.

(You could delete everything under C:\\Users\\user\\.m2\\repository\\ too, but then the next build takes longer, since all Maven plugins plus their dependencies plus their transitive dependencies and your project's dependencies plus their transitive dependencies have to be downloaded again from scratch.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM