Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 原型应始终使用最新版本的依赖项_Maven_Maven Archetype - Fatal编程技术网

Maven 原型应始终使用最新版本的依赖项

Maven 原型应始终使用最新版本的依赖项,maven,maven-archetype,Maven,Maven Archetype,我创建了一个原型,它对我的一个项目具有托管依赖关系。 是否有可能告诉原型在使用我的原型创建新项目时始终使用该依赖项的最新版本?使用RELEASE对我不起作用,因为我不想每次构建项目时都更改版本 <?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-instan

我创建了一个原型,它对我的一个项目具有托管依赖关系。 是否有可能告诉原型在使用我的原型创建新项目时始终使用该依赖项的最新版本?使用
RELEASE
对我不起作用,因为我不想每次构建项目时都更改版本

    <?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>${groupId}</groupId>
    <artifactId>${artifactId}</artifactId>
    <version>${version}</version>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>com.mycompany.someproject</groupId>
            <artifactId>someDependency</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.mycompany.myproject</groupId>
                <artifactId>myArtifact</artifactId>

                <version>LATEST</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

4.0.0
${groupId}
问题,但建议使用maven版本插件的解决方案似乎不适合,原因有二。首先,我想在创建项目时更改版本,其次我不想更改所有依赖项的版本,只更改一个

编辑:上面是来自原型资源(已更新)的pom.xml,下面是来自我的原型项目本身的pom.xml

<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.mycompany.maven.archetype.be</groupId>
        <artifactId>maven-archetype-be-_moduleList</artifactId>
        <version>1.3-SNAPSHOT</version>
        <relativePath>../maven-archetype-be</relativePath>
    </parent>
    <artifactId>archetype-be-api</artifactId>
    <packaging>maven-archetype</packaging>
    <dependencies />
    <name>archetype-be-api</name>
</project>

4.0.0
com.mycompany.maven.archetype.be
maven原型be-_模块列表
1.3-1
../maven原型be
原型BEAPI
马文原型
原型BEAPI
EDIT2:
RELEASE
LATEST
似乎在托管依赖项中根本不起作用。有人可以确认或禁用该语句吗?

您可以将

    <dependency>
        <groupId>com.mycompany.myproject</groupId>
        <artifactId>my-artifact</artifactId>
        <version>LATEST</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
例如,当您运行mvn从原型项目生成项目时,您仍然可以指定最新版本

mvn archetype:generate 
    -DarchetypeGroupId=you_archetype_group_id 
    -DarchetypeArtifactId=sample-spring-mvc-archetype 
    -DarchetypeVersion=LATEST -DgroupId=new.project.id 
    -DartifactId=sample 
    -DarchetypeRepository=path_to_maven_repo_with_archetype_jar

即使您只想为一个依赖项执行此操作,也可能需要重新考虑它,因为它可能会导致一些严重的问题,因为您可能不知道这些更改。但是,如果你想这样做,你可以看看这个链接,它很好地解释了你的问题。谢谢你的回复,但那不是我想做的。我想在使用我的原型创建项目时检查最新版本,而不是每次构建项目时。请更新原型项目的pom.xml,好吗?因此,当您运行
mvn
从原型项目生成项目时,您仍然可以指定最新版本,例如,查看更新
mvn archetype:generate 
    -DarchetypeGroupId=you_archetype_group_id 
    -DarchetypeArtifactId=sample-spring-mvc-archetype 
    -DarchetypeVersion=LATEST -DgroupId=new.project.id 
    -DartifactId=sample 
    -DarchetypeRepository=path_to_maven_repo_with_archetype_jar