在没有Maven的Eclipse中创建src / main / java文件夹结构


69

在没有Maven的情况下,如何在Eclipse中的默认Web应用程序项目中创建src/main/javasrc/test/java?我当前的文件夹结构是

TestApp
├── JavaResources
│   └── src  
│       └── com.mypackage
└── WebContent

1
只需添加一个源文件夹。
Sotirios Delimanolis 2014年

您可以像常规文件夹一样自己创建它们。创建src文件夹,然后在src内进行测试,然后在Java内进行测试
ant

1
我无法在eclipse中将子文件夹添加到src文件夹。你能让我知道我该怎么做吗?
Sandeep Rao 2014年

Answers:


173

正如您所发现的,您不能在另一个源文件夹中拥有一个源文件夹,因此在创建之前,src/main/java您必须告诉Eclipse不要将其src视为源文件夹。为此,右键单击该src文件夹,然后选择构建路径->从构建路径中删除。

完成此操作后,src它将显示在文件夹树的正常位置,因此您可以在其下创建mainjava文件夹,并将现有文件夹移动src/comsrc/main/java/com。最后,右键单击新创建的java文件夹,然后选择构建路径->用作源文件夹。


选择“用作源文件夹”选项后,将创建文件夹的结构,但是在更新maven项目时出现错误:无法更新以下项目的maven配置。无法将“ Foldername / src / main / java”嵌套在“ Foldername / src”中。要启用嵌套,请从'SelectExample / src'中排除'main /'
S Kumar

太棒了 它帮助了我。
JDGuide

这可以节省生命:)
Pulkit Gupta

13

我已经通过以下步骤解决了这个问题:

右键单击Maven项目->构建路径->配置构建路径在“顺序和导出”选项卡中,您会看到类似“缺少2个构建路径条目”的消息,现在选择“ JRE系统库”和“ Maven依赖项”复选框,单击“确定”。


4

打开 Properties > Java Build Path该项目。选择Source选项卡并用于Add Folders添加源文件夹。


感谢您的答复,但是当我尝试添加子文件夹时,出现错误msg。“无法嵌套'TestApp / src / main / java从'TestApp / src中排除'main /'”
Sandeep Rao 2014年

默认情况下,您根本无法src同时将src/main两者都作为源文件夹。但是,您可以排除main来自srcSource标签(我的Eclipse版本做了它在默认情况下)...
Betlista

你能解释一下我如何排除它吗?
Sandeep Rao 2014年

删除现有的src条目,然后添加新的条目
greg-449 2014年

2

在构建路径中删除实际的源文件夹定义,并添加一个新的源文件夹并为其命名 src/main/java


我试图编辑并重命名文件夹结构,但出现以下错误。在“设置构建路径”期间发生内部错误。断言失败:无法移动'/ TestApp / src'。目标不应在源的层次结构下。
Sandeep Rao

不要编辑!只需删除它并创建一个新的!
markusw 2014年

我已经在src文件夹下有了一些软件包,并且我不想丢失它。Nvm我能够做到。谢谢!
Sandeep Rao 2014年

2

通过选中“ JRE系统库”和“ Maven依赖关系”复选框,可以解决该问题。单击“确定”。这可以在项目的“构建路径选项”中找到


2

如果将包结构设置为src.main.java.com.inventica而不是com.inventica,通常是因为在项目属性> Java构建路径>源下,将源文件夹设置为src而不是src/main/java。没有简单的方法可以解决此问题,因此将其删除src为源文件夹,然后单击“确定”。

现在Eclipse将显示一个文件夹层次结构src/main/java。浏览到java文件夹>右键单击>构建路径>用作源文件夹。

之后,您可能必须修复Eclipse .project和.classpath文件,以使其使用Maven来管理依赖项,构建等。

通常,您可以从一个正在运行的项目中复制它,因为假设您被构造为标准Maven项目,那么这里没有任何特定的项目。



0

一个简单的解决方案是直接在驱动器中将“ java”文件夹直接创建到src / main中,甚至在eclipse中打开它之前,eclipse不会抱怨该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.