Java 不同工作副本的单独本地存储库(代码库)

Java 不同工作副本的单独本地存储库(代码库),java,maven,Java,Maven,我有一个要求,我必须对一个项目的不同版本的工作。我正在使用maven-3.2.5,现在我只有一个本地存储库,我在我的settings.xml中这样配置 <localRepository>D:/Repo</localRepository> <profile> <id>RepositoryConfig</id> <repositories> <repository>

我有一个要求,我必须对一个项目的不同版本的工作。我正在使用maven-3.2.5,现在我只有一个本地存储库,我在我的settings.xml中这样配置

<localRepository>D:/Repo</localRepository>
<profile>
    <id>RepositoryConfig</id>
    <repositories>
        <repository>
            <id>public</id>
            <url>http://bxus:8081</url>
        </repository>
        </repositories> 
    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <url>http://bxus:8081</url>
        </pluginRepository>     
    </pluginRepositories>
</profile>
D:/Repo
我有这样的个人资料

<localRepository>D:/Repo</localRepository>
<profile>
    <id>RepositoryConfig</id>
    <repositories>
        <repository>
            <id>public</id>
            <url>http://bxus:8081</url>
        </repository>
        </repositories> 
    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <url>http://bxus:8081</url>
        </pluginRepository>     
    </pluginRepositories>
</profile>

存储配置
公众的
http://bxus:8081
公众的
http://bxus:8081
正如我已经说过的,我必须在不同的版本上工作,所以我需要维护不同的代码库。我希望为每个代码库维护单独的本地存储库。一种方法是为每个代码库创建单独的settings.xml,但我不想采用这种方法。我想通过一个settings.xml文件来实现这一点

请分享你的建议。我使用elipse作为IDE

使用maven.repo.local:
Use   maven.repo.local :

    1.(repo1) mvn -Dmaven.repo.local= /dir/myrepository1 -DRepositoryConfig1 clean install 

    2.(repo2) mvn -Dmaven.repo.local= /dir/myrepository2 -DRepositoryConfig2 clean install 

And 
<profile>
    <id>RepositoryConfig1</id>
    <repositories>
        <repository>
            <id>public</id>
            <url>http://bxus:8081</url>
        </repository>
        </repositories> 
    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <url>http://bxus:8081</url>
        </pluginRepository>     
    </pluginRepositories>
</profile>
<profile>
    <id>RepositoryConfig2</id>
    <repositories>
        <repository>
            <id>public</id>
            <url>http://bxus2:8081</url>
        </repository>
        </repositories> 
    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <url>http://bxus2:8081</url>
        </pluginRepository>     
    </pluginRepositories>
</profile>
1.(repo1)mvn-Dmaven.repo.local=/dir/myrepository1-DRepositoryConfig1干净安装 2.(repo2)mvn-Dmaven.repo.local=/dir/myrepository2-DRepositoryConfig2干净安装 及 存储配置1 公众的 http://bxus:8081 公众的 http://bxus:8081 存储配置2 公众的 http://bxus2:8081 公众的 http://bxus2:8081
您应该使用多个分支来跟踪版本之间的差异。以共享大部分代码。请参阅git分支的介绍

如果您使用多个断开连接的本地存储库,您很可能会陷入噩梦。因为你必须将这些变化从一个回购协议复制到另一个回购协议

对多个分支机构使用单一回购协议将允许您共享代码并仅维护各自分支机构中的差异

如果需要多个本地副本,可以在多个位置克隆同一个回购,但可以将eac切换到其他分支


然后在每个分支中,您可以使用不同的maven配置(如果需要),就像其他人建议的那样。但是答案是使用多个分支。

git分支不是解决这个问题的更好方法吗?同意你的建议,但在这里我无法控制git系统。这是一项短期工作,只需要本地设置。这就是为什么我想使用多配置文件逻辑,因为它符合我的要求。如果需要,您可以仅在本地创建多个banch。即使是暂时的,我也不建议使用多个断开连接的副本。这样做只会让你失去改变,产生很多头痛。