"packaging" 的值为 "jar" 是无效的。聚合项目需要使用 "pom" 作为 packaging。

3

我遇到了一个问题,我的项目pom文件出现了错误,指出打包应该不是jar而是pom。我需要我的项目生成一个目标'jar',并且我没有任何子模块,然而这个错误会带来另一个错误:pom.xml的子模块不存在,现在是我的pom文件:

<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.itworx.bigdata</groupId>
    <artifactId>MediaSensor</artifactId>
    <version>0.0.1</version>
    <name>MediaSensor</name>
    <description>Complete and Integrated Spark Flow of Big Data</description>
    <repositories>
        <repository>
            <id>cloudera</id>
            <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
        </repository>
    </repositories>
    <!-- please stick to the CDH version and this repositry do not use apache repos -->
    <!-- All CDH jars in this link http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_vd_cdh5_maven_repo.html#concept_jhf_dcz_bs_unique_2-->
    <dependencies>
        <!-- following jar is implicitly needed by one of spark ref -->
        <dependency>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
            <scope>system</scope>
            <version>1.6.0_24</version>
            <systemPath>C:/Program Files/Java/jdk1.7.0_51/lib/tools.jar</systemPath>
        </dependency>

        <dependency>
            <groupId>com.itworx.epenta</groupId>
            <artifactId>ePenta</artifactId>
            <scope>system</scope>
            <version>1.1</version>
            <systemPath>D:/Capability_Building/Media_Sensor_Development/temp_space/ePenta.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.itworx.lucene</groupId>
            <artifactId>solr-writer</artifactId>
            <scope>system</scope>
            <version>1.1</version>
            <systemPath>D:/Capability_Building/Media_Sensor_Development/temp_space/spark-solr-1.0-SNAPSHOT-shaded.jar
            </systemPath>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20141113</version>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.3.0-cdh5.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.10</artifactId>
            <version>1.3.0-cdh5.4.2</version>
        </dependency>
        <!-- <dependency>   -->
        <!--   <groupId>org.apache.spark</groupId>  -->
        <!--   <artifactId>spark-streaming-twitter_2.10</artifactId>  -->
        <!--   <version>1.3.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka-assembly_2.10</artifactId>
            <version>1.3.0-cdh5.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka_2.10</artifactId>
            <version>1.3.0-cdh5.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.htrace</groupId>
            <artifactId>htrace-core</artifactId>
            <version>3.1.0-incubating</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>1.0.0-cdh5.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-annotations</artifactId>
            <version>1.0.0-cdh5.4.2</version>
        </dependency>

        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-hadoop-compat</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-hadoop2-compat</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-it</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-common</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.0.0-cdh5.4.2</version>
        </dependency>
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-checkstyle</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-examples</artifactId>
            <version>1.0.0-cdh5.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-prefix-tree</artifactId>
            <version>1.0.0-cdh5.4.2</version>
        </dependency>

        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-protocol</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-rest</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-shell</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-testing-util</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
        <!-- <dependency> -->
        <!--   <groupId>org.apache.hbase</groupId>  -->
        <!--   <artifactId>hbase-thrift</artifactId>  -->
        <!--  <version>1.0.0-cdh5.4.2</version>  -->
        <!-- </dependency> -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <shadedArtifactAttached>false</shadedArtifactAttached>
                    <outputFile>D:/Capability_Building/Media_Sensor_Development/temp_space/MediaSensorShaded.jar
                    </outputFile>
                    <artifactSet>
                        <includes>
                            <include>*:*</include>
                        </includes>
                    </artifactSet>
                    <filters>
                        <filter>
                            <artifact>*:*</artifact>
                            <excludes>
                                <exclude>META-INF/*.SF</exclude>
                                <exclude>META-INF/*.DSA</exclude>
                                <exclude>META-INF/*.RSA</exclude>
                            </excludes>
                        </filter>
                    </filters>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>reference.conf</resource>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <modules>
        <module>?</module>
    </modules>
</project>

could anyone help?


7
请删除末尾的 <modules> 声明?并且请至少使用自动格式化工具对您的 XML 文件进行格式化,您的同行开发者将感激不尽。 - Florian Schaetz
1个回答

5

正如@florian-schaetz在评论中指出的那样,您在pom的末尾有以下内容:

<modules>
    <module>?</module>
</modules>

如果您不计划拥有子模块,就应该将其删除。保留它会强制 Maven 将您的 pom 视为聚合 pom(显然并非如此)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接