在不更改包名称的情况下,将代码分离到 src 文件夹下的主分支和测试分支

Separate code to main and test branches under `src` folder without changing packages names

我想对现有项目采用 Apache Software Foundation's standard directory structure,即:

module/
  src/
    main/
      java/
        com.mycompany...
    test/
      java/
        com.mycompany...

问题是,在将来源从 src/com.mycompany 移动到 src/main/java/com.mycompanysrc/test/java/com.mycompany 之后,IDE (Eclipse) returns 发出警告并建议将软件包从 com.mycompany 分别重命名为 main.java.com.mycompanytest.java.com.mycompany

重要提示:
由于这是一个没有任何Maven集成的遗留项目,但仍在生产中使用,我想尽可能减少对项目的更改,但仍然将生产代码和单元测试代码分开。

我的问题:
有没有办法避免在所有源文件中重命名包,但仍然使用 Apache 的源目录结构?

您可以在 pom.xml 中执行此操作,但您也可以在 Eclipse 中编辑项目并在其中定义源文件夹

我注意到您实际上误读了 Apache 标准结构,它遵循 Maven 约定 src/main/java 等等,所以我会使用它。然后,如果您使用某种形式的 Maven-Eclipse 集成,默认情况下应该自动正确设置源文件夹。我曾经使用 mvn eclipse:eclipse(使用 eclipse-maven-plugin)来做到这一点,但那是很久以前的事了——我现在使用 Intellij。我猜现在 Eclipse 会自动从 Maven 获取源路径。