在 Intellij 中,来自 2 个不同项目(在不同目录中创建)的 Class 个文件相互干扰

In Intellij ,Class files from 2 Different projects (created in different directories) interfere with each other

我的源代码:来自同一存储库的 2 个不同分支。两者都有 80% 相同的代码。套餐也一样。但是两个分支中有 20% classes 是不同的。这是因为这些分支正在开发不同的功能。
我的Intellij版本是2018.2.7社区版

  1. 我将存储库克隆到 2 个不同的文件夹中。 考虑第一个:C:\SourceCode\myRepo 并从 master 移动到 branch1 考虑第二个:C:\SourceCode\SecondCopy\myRepo 并从 master

    移动到 branch2
  2. 现在我在 IntelliJ 中创建了 2 个不同的项目。第一个来自 C:\SourceCode\myRepo,第二个来自 C:\SourceCode\SecondCopy\myRepo.

  3. 我使用 git bash 为 windows 使用简单的 'mvn clean install' 命令构建了第一个项目。 (在 Intellij 之外)。打开 Intellij。 运行 Jetty 上的应用程序。一切顺利。

  4. 我在新 Window 中也打开了第二个 IntelliJ 项目。现在,我使用 'mvn clean install'(再次在 Intellij 之外)在 git bash 中构建第二个项目。但是一旦我这样做,第一个项目就开始显示 java classes 的代码异常,这些异常在第二个项目中不存在。

  5. 即使是已经 运行ning 在第一个项目的 Jetty 中使用 'Run configuration of Intellij' 的应用程序,也开始抛出 class not found 错误。

  6. 我如何解决它并同时处理代码略有不同但 80% 相同代码、相同包等的 2 个项目?我在这里错过了什么?我的本意不是运行 Jetty 并发。但是要能够独立编译这两个项目,并且能够随时在任何一个项目中 运行 Jetty 而不干扰其他项目。 这些项目都是大项目,因此,我想为一个项目启动构建和 运行。直到 运行ning 结束时,我希望能够以一种方式并行处理另一个,在 compiling/auto 构建此项目后这项工作不会影响另一个我刚开始申请。

它正在扼杀我的工作效率。请帮忙!

对项目使用不同的Maven coordinates

有人告诉我...它的发生是因为我正在使用 maven 并且在构建之后,maven 将它构建的项目库保存在本地存储库中。因此,构建后的两个项目都试图将 jar 保存在 Jetty 正在读取的同一文件夹中。因此存在干扰。 我没试过。但是如果我为这两个项目保留 2 个单独的本地存储库,它应该可以解决,但是所有的依赖项也将被不必要地重复。所以@Andrey 提到的解决方案是我将两个项目的 Maven 坐标分开,以便为两个项目创建 2 个单独的 jar。谢谢安德烈。我不一定会更改所有模块的 Maven 坐标,但会更改两个项目中代码不同的模块。希望这个答案对某人有所帮助。