Java / IntelliJ将类保存在另一个文件夹中但在同一个包中

时间:2015-04-07 20:48:20

标签: java intellij-idea

有没有办法让你的课程在不同的文件夹中分开而不将它们保存在不同的包中?

我有一个大约40个类的集合,我确实希望它们都在同一个包中,但我想要一种可视化分组的方法,因此随着它的大小增加,它会更容易导航

有没有办法用IntelliJ做到这一点?在Java中一般吗?

我不想要子包的原因如下:

Foo中的

Foo

package Foo;
public class Foo {
    public static void main(String[] args) {
        Bar.FooBar(); //<--compile error
    }
}
Bar中的

Foo.Bar

package Foo.Bar;

public class Bar {
    static void FooBar() {}
}

3 个答案:

答案 0 :(得分:4)

如果您有多个具有相同包结构的源类路径,则可以执行此操作。

在IntelliJ中,您只需创建一个新文件夹,然后将该文件夹标记为Source文件夹即可。 (右键单击文件夹 - &gt;标记目录为 - &gt;源根目录)。同样,只要包结构相同,相同包中的所有类将最终结合在一起。

答案 1 :(得分:1)

如果您在IntelliJ中使用maven,则可以使用pom文件的build-helper-maven-plugin部分中的build,如下所示:

<build>
   <plugins>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <version>1.9.1</version>
         <executions>
            <execution>
               <id>src</id>
               <phase>generate-sources</phase>
               <goals>
                  <goal>add-source</goal>
               </goals>
               <configuration>
                  <sources>
                     <source>../your/additional/source/path</source>
                  </sources>
               </configuration>
            </execution>
         </executions>
      </plugin>
   </plugins>
</build>

这样,您可以在项目中使用相同的包时将代码分成多个逻辑文件夹,并且maven将在您运行任何maven命令时将它们全部组合在一起。

答案 2 :(得分:0)

您可以使用IntelliJ中的收藏夹执行此操作。它们将在视觉上分组,但将保留在同一个包文件夹中;但是,并不是说这是一种好的设计方法。