Java maven不使用新的内部版本号更新本地repo中的jar

Java maven不使用新的内部版本号更新本地repo中的jar,java,maven-3,Java,Maven 3,我在我的一个模块的pom中添加了构建号插件,如下所示: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.0-beta-4</version> <executions>

我在我的一个模块的pom中添加了构建号插件,如下所示:

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.0-beta-4</version>
        <executions>
            <execution>
                <phase>validate</phase>        
                <goals>
                    <goal>create</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <doCheck>false</doCheck>
            <doUpdate>true</doUpdate>
            <format>${project.version}.{0,number}</format>
            <items>
                <item>buildNumber</item>
            </items>
        </configuration>
    </plugin>

org.codehaus.mojo
buildnumber maven插件
1.0-beta-4
验证
创造
假的
真的
${project.version}.{0,number}
建筑编号
我还尝试将构建的jar保存在一个文件夹中。/并且jar还通过使用jar插件将buildnumber附加到其版本名中,如下所示:

<plugin>

    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
      <archive>
        <manifest>
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
        </manifest>
        <manifestEntries>
          <Implementation-Build>${buildNumber}</Implementation-Build>
        </manifestEntries>
      </archive>
      <outputDirectory>target/${buildNumber}</outputDirectory>
    </configuration>
</plugin>

org.apache.maven.plugins
maven jar插件
2.3.2
真的
${buildNumber}
目标/${buildNumber}
构建工作正常,jar在目标内部创建为target//myjar-.jar (假设版本为1.0,buildnumber随着从1开始的每个生成而递增) 但是,在本地存储库中,jar存储为package//myjar-.jar,即buildnumber没有添加到那里。 有没有办法做到这一点?
谢谢。

如果我正确理解了你的问题,一切看起来都很好(目标目录中的工件、清单等),除了本地存储库中的文件名不是你想要的,对吗


如果是这样的话,如果我没记错的话,这就是它应该起作用的地方。本地/远程存储库中的工件文件名是根据工件名称、版本号、修饰符和限定符以及快照时的时间戳生成的。它与目标目录中的输出文件名无关

感谢Adrian,如果是这样的话,那么如果一个工件没有存储在我的本地repo中,我如何指定它作为对另一个具有新构建号的工件的依赖?例如,如果在构建jar A的过程中,生成的工件是A-1.0-1,那么因为在本地repo中它存储为A-1.0,所以我不能指定A-1.0-1作为依赖项。那么这个插件有什么用呢?它只是用于创建最终的war而不是单个jar吗?谢谢。你应该在你的本地回购协议中“虚拟”地对待这个没有名字的工件。工件仅通过GroupID+ArtifactID+version+Modifier/Qualifier定位。所有这些都与文件名无关。插件的使用完全取决于您的使用情况,我相信大多数人都会使用它在某些资源或META-INF中添加内部版本号。要实现所需的功能,您需要将内部版本号作为版本(或限定符?)的一部分。我不推荐这种方法,因为它不适合现有的Maven。不过,你可以查看maven发布插件,以便随时更新版本。