将快照版本名称附加到JAR文件中

时间:2018-08-18 06:11:42

标签: java maven jar pom.xml

我使用以下pom.xml文件运行Hadoop应用。该文件包含用于创建JAR文件的所有信息以及所需的依赖关系。该文件提供如下:

<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.test.hadoop.wordcount</groupId>
    <artifactId>wordcount</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>wordcount</name>
    <url>http://maven.apache.org</url>

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

    <dependencies>
        <!-- Hadoop -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>com.test.hadoop.wordcount.WordCount</mainClass>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
            <version>2.4.3</version>
        </plugin>
        </plugins>
    </build>
</project>

运行该应用程序时,它确实在位置

中创建了JAR文件wordcount.jar

enter image description here

但是,我想在快照版本中附加JAR名称,即。 wordcount-0.0.1-SNAPSHOT.jar

我该如何实现?我对快照版本没有很多了解。我现在提供了更新后的pom.xml文件。

更新

我添加了shade插件,但这不能解决问题。另外,目标目录中没有JAR。

1 个答案:

答案 0 :(得分:1)

Intellij w / Maven在目标文件夹下生成版本化的JAR

注意:由于您未使用Shade插件,因此JAR不应包含您可能需要的依赖项