相关疑难解决方法(0)

Maven:在发布时将SNAPSHOT更改为发布父/子模块版本的最佳方法?

在开发时,我们对maven模块使用SNAPSHOT版本(例如1.0-SNAPSHOT).

例如,父模块的Maven Configugration:

<groupId>com.mycomp.basemodule</groupId>
<artifactId>base-module</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>base-module</name>
<modules>       
    <module>sub-module1</module>        
    <module>sub-module2</module>        
    <module>sub-module3</module>        
    <module>sub-module4</module>        

</modules>
Run Code Online (Sandbox Code Playgroud)

例如Child Module的Maven Configugration:

子模块-1:

<parent>
     <groupId>com.mycomp.basemodule</groupId>
      <artifactId>base-module</artifactId>
      <version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.mycomp.sub-module1</groupId>
<artifactId>sub-module1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>sub-module1</name>
Run Code Online (Sandbox Code Playgroud)

还要考虑其他子模块(2,3,4)的相同配置.

在发布项目/补丁时,我们需要将此SNAPSHOT版本更改为实际发布版本.

有一种粗略的方法可以改变版本.我可以转到父和所有子模块的每个pom.xml,并可以将SNAPSHOT版本更改为发布版本.

有没有其他最佳实践来更改此SNAPSHOT版本以在公共位置发布版本,以便我不需要更新所有pom.xml文件?

maven-3

10
推荐指数
1
解决办法
2万
查看次数

Maven Pom.xml自动增量版本

我一直在试图解决这个问题几天,我已经看了遍历stackoverflow并且没有一个答案解决了我的问题.我正在尝试使用<version>我的Pom.xml.

<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>maven.Test</groupId>
  <artifactId>Hello</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>jar</packaging>

<distributionManagement>
    <repository>
        <id>Artifactory</id>
        <name>Artifactory-releases</name>
        <url>${publish.location}</url>
    </repository>
    <snapshotRepository>
        <id>Artifactory</id>
        <name>Artifactory-snapshots</name>
        <url>${publish.location}</url>
    </snapshotRepository>
</distributionManagement>

</project>
Run Code Online (Sandbox Code Playgroud)

我目前正在使用Maven 3.3.3,我已经研究过SCM插件,但那些似乎没有用.我知道你可以通过将它们设置为变量来增加版本,但这对我的开发人员来说并不理想.使用命令运行构建时,mvn deploy我希望版本自动增加到1.0.1,依此类推.

编辑:

我尝试了maven发布,但遇到了一个可能在我身上的问题.对于发布插件,我需要对我的Pom.xml进行编辑吗?我跑了mvn release:prepare但遇到了这个错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3
.2:prepare (default-cli) on project Hello: Unable to check for local modificatio
ns
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] 'svn' is not recognized as an internal or external command,
[ERROR] operable program or batch …
Run Code Online (Sandbox Code Playgroud)

maven

10
推荐指数
2
解决办法
2万
查看次数

补丁的Maven工件版本

我目前正在为Project Dash开发Maven工具.其中一个悬而未决的问题是如何处理错误.

Maven Central说:没有任何出版物发生变化.这是因为Maven从未试图弄清楚版本是否发生了变化(与SNAPSHOTs不同).

但我可能不得不创建一个新的"发布版",例如Eclipse 3.6.2的一部分.我应该使用哪个版本号?3.6.2.1,3.6.2-1,3.6.2_1,3.6.2pl1?为什么?

versioning release-management maven

6
推荐指数
1
解决办法
6742
查看次数

从Maven创建jar文件

当我使用此命令时,我想创建一个没有SNAPSHOT原因的jar文件

mvn -f pom.XML package
Run Code Online (Sandbox Code Playgroud)

创建了两个文件“文件名_SNAPSHOT.jar和文件名_SNAPSHOT_WITH_dependencies.jar”。我想要文件名.jar,我知道我应该在pom.XML中进行编辑,因此我尝试添加此文件

mvn -f pom.XML package
Run Code Online (Sandbox Code Playgroud)

但是它创建了文件名name_SNAPSHOT_source.jar我该如何解决?

我的pom.XML这样的

<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">
  <model Version>4.0.0</model Version>
    <group Id>MyProject</group Id>
    <artifact Id>MyProject</artifact Id>
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)

java jar maven

1
推荐指数
1
解决办法
3761
查看次数

标签 统计

maven ×3

jar ×1

java ×1

maven-3 ×1

release-management ×1

versioning ×1