EclipseJava项目中是否有解决长文件夹路径的方法?

EclipseJava项目中是否有解决长文件夹路径的方法?,java,linux,eclipse,gradle,Java,Linux,Eclipse,Gradle,我有一个基于Java代码的多项目Gradle构建。它被组织成几个项目,以便在允许共享代码的同时保留第三方依赖关系。(每个子组件中都有main()函数。)下面是我在磁盘上的项目文件夹结构,我相信它遵循了Gradle和Java的所有最佳实践: +---repository_for_component +---component | +---src | +---main | +---java

我有一个基于Java代码的多项目Gradle构建。它被组织成几个项目,以便在允许共享代码的同时保留第三方依赖关系。(每个子组件中都有main()函数。)下面是我在磁盘上的项目文件夹结构,我相信它遵循了Gradle和Java的所有最佳实践:

+---repository_for_component +---component | +---src | +---main | +---java | +---com | +---company | +---product | +---component | +---SharedSource.java +---subcomponent1 | +---src | +---main | +---java | +---com | +---company | +---product | +---component | +---subcomponent1 | +---Source1.java +---subcomponent2 | +---src | +---main | +---java | +---com | +---company | +---product | +---component | +---subcomponent2 | +---Source2.java +---build.gradle +---settings.gradle ... +---组件的存储库\u +---组成部分 |+--src |+---主 |+---java |+--com |+---公司 |+---产品 |+---组件 |+--SharedSource.java +---子组件1 |+--src |+---主 |+---java |+--com |+---公司 |+---产品 |+---组件 |+---子组件1 |+--Source1.java +---子组件2 |+--src |+---主 |+---java |+--com |+---公司 |+---产品 |+---组件 |+---子组件2 |+--Source2.java +---格雷德尔先生 +---格雷德尔酒店 ... 我们的一个开发人员不喜欢使用IDE(仅限终端),这对他来说是一个巨大的痛苦,这是可以理解的。当我不得不从命令行或使用文件浏览器做任何事情时,我也会感到痛苦

由于此存储库仅用于讨论中的“组件”,因此许多路径都是冗余的。特别是,这消除了4个冗余文件夹:

+---repository_for_component +---subcomponent1 | +---src | +---main | +---java | +---com.company.product.component.subcomponent1 | +---SharedSource.java ... +---组件的存储库\u +---子组件1 |+--src |+---主 |+---java |+--com.company.product.component.subcomponent1 |+--SharedSource.java ... 这仍然是一个微小的进步,但它的东西。我希望我的运气再好一点,但是当Gradle构建这个项目时,Eclipse给出了一个错误:

声明的包“com.company.product.component.subcomponent”与预期的包不匹配


在Eclipse中有什么变通方法可以使用吗?或者提供其他建议,让每个人都不那么痛苦?

记住:包是文件夹。

如果您以这种方式将项目分解为组件,并且每个组件都有不同的包,那么至少应该有一个合理的理由

虽然可能有一个关于重构组件的有效论点(我既不能赞成也不能反对,因为我不知道这些组件应该如何相互作用),您不应该仅仅因为一两个开发人员不希望使用工具来帮助他们更简单地浏览文件夹结构,就试图将其扁平化


此时要做的最简单的事情是标准化每个人的开发环境。IDE可能不是每个人都喜欢的,但它们特别有助于缓解这样的痛点。

我已经确认Eclipse只支持与包名匹配的源路径;替代方案已被修改并标记为“无法修复”

我想我已经为希望从命令行完成工作的Linux开发人员准备好了。在
~/.bashrc
文件中,添加如下内容:

# Project shortcuts export repo="/path/to/repository/" alias repo_root="cd $repo" alias repo_core="cd $repo/core/src/main/java/com/company/product/component/" alias repo_sub1="cd $repo/sub1/src/main/java/com/company/product/component/subcomponent1" alias repo_sub2="cd $repo/sub2/src/main/java/com/company/product/component/subcomponent2" bash-4.1$ repo_root bash-4.1$ pwd /path/to/repository bash-4.1$ repo_sub1 bash-4.1$ pwd /path/to/repository/sub1/src/main/java/com/company/product/component/subcomponent1 #项目快捷方式 export repo=“/path/to/repository/” 别名repo_root=“cd$repo” 别名repo_core=“cd$repo/core/src/main/java/com/company/product/component/” 别名repo_sub1=“cd$repo/sub1/src/main/java/com/company/product/component/subcomponent1” 别名repo_sub2=“cd$repo/sub2/src/main/java/com/company/product/component/subcomponent2” 设置路径后,启动新的终端实例,并按如下方式运行:

# Project shortcuts export repo="/path/to/repository/" alias repo_root="cd $repo" alias repo_core="cd $repo/core/src/main/java/com/company/product/component/" alias repo_sub1="cd $repo/sub1/src/main/java/com/company/product/component/subcomponent1" alias repo_sub2="cd $repo/sub2/src/main/java/com/company/product/component/subcomponent2" bash-4.1$ repo_root bash-4.1$ pwd /path/to/repository bash-4.1$ repo_sub1 bash-4.1$ pwd /path/to/repository/sub1/src/main/java/com/company/product/component/subcomponent1 bash-4.1$repo_root bash-4.1$pwd /路径/到/存储库 bash-4.1$repo_sub1 bash-4.1$pwd /path/to/repository/sub1/src/main/java/com/company/product/component/subcomponent1 或者,您可以使用
export
,而不是别名。不管你的桃子是什么。关键是,您可以更快地快速遍历这些路径,并且可以从任何地方进行遍历