Eclipse无法识别src / main / webapp目录
我使用m2eclipse在Eclipse中导入Maven Java项目。
它无法将src/main/webapp
识别为源目录。
以图形方式在包资源管理器中(或者当我在项目属性中查看Java-Build-Path时),
这个目录不在sources文件夹列表中(当src/main/java
或src/main/resources
时)。
要访问它,我必须直接查看src /目录,并开始展开…不是很方便!
但是,如果我运行maven install
,资源将被复制到正确的目录中。
(例如: src/main/webapp/index.jsp
到target/mywar/index.jsp
)
问题
- 这是正确的行为吗? (我以为它可以被视为其他资源…)
- 我能解决吗?
- 我想知道这种情况是否有其他缺点,我现在不会意识到这一点?
- 这是正确的行为吗? (我以为它可以被视为其他资源…)
- 我能解决吗?
- 我想知道这种情况是否有其他缺点,我现在不会意识到这一点?
- 是的,对我来说这是正确的行为。
- 将src / main / webapp作为源文件夹并不真正有意义,它不包含可编译的源文件。
- 我不知道。 我想这取决于你的期望:)
也就是说,m2eclipse做了一个贡献,允许使用特定的“Web资源”标签使src/main/webapp
在顶层可用,如下所示:
这可能是您关注的解决方案(不方便折叠)。
就maven而言, src/main/webapp
不是源文件夹,因为它的内容没有被编译/复制到target/classes
,所以从m2eclipse的角度来看,这是正确的行为。 是否有特殊原因需要将src / main / webapp标记为Eclipse源文件夹?
而不是将/ src / main / webapp添加为java构建路径中的源文件夹,而是将其添加为要包含在部署程序集中的文件夹:
MyProject – > properties – > Deployment Assembly:添加“/ src / main / webapp”部署到“/”
就我而言,Eclipse无法将src/main/webapp
识别为Web Resources文件夹。 我通过以下方式解决了
- 删除项目
- 重启eclipse
- 从SVN获取Maven项目的最新更新。
那你只需要将src / main / webapp标记为Eclipse src文件夹:
右键单击webapp文件夹 – >构建路径 – >用作源文件夹
不要认为你可以在没有任何丑陋的黑客的情况下轻松改变这种行为,src标记只是Eclipse特定的东西,用于配置其类路径等。
一种解决方案是利用m2e支持构建帮助器maven插件,并将src / main / webapp声明为additioanl资源路径。 这也使eclipse将节省的资源保存到构建目标文件夹结构中。
org.codehaus.mojo build-helper-maven-plugin 3.0.0 add-resource generate-resources add-resource src/main/webapp ${project.build.directory}/${project.build.finalName}
我能想出一个理由。
我正在使用Maven在Eclipse中开发一个GWT项目。 在我的配置中,src / main / webapp目录包含HTML和CSS文件,我必须将其作为开发工作的一部分,即使它们不是“可编译”文件。
能够直接到达他们而不是潜入src /文件夹是一个加号。 并在POM中定义它以便以这种方式设置意味着每次运行eclipse时都不必手动添加文件夹:eclipse。
对内斯特来说,不要开个玩笑。 它是一个端到端的开发环境,而不仅仅是一个编译器。 它旨在作为所有源工件的接口,这些工件有助于从JSP构建构建(如POM文件)。 如果这些不可编译,为什么eclipse甚至会烦扰XML和JSP编辑器呢? – 顺便说一句,这是非常有用的。
eclipse的maven插件(反之亦然)非常棒,因为它构建了.classpath,.project和其他配置,以便立即开始使用eclipse中的maven项目。 但是,每次生成eclipse配置(即mvn eclipse:eclipse)时,都必须手动添加不支持的目录。 这是一个很大的麻烦。
这些插件忽略了从IDE中轻松添加可查看的新源文件夹的能力这一事实对我来说是一个谜。 一个maven / eclipse插件项目页面甚至引用了解决方法,通过切换项目类型和欺骗插件使这些源暂时可用 – 当然,您需要立即更改它或破坏构建。
他们为什么不创建独立控制.classpath中源声明的能力?
我找到了一个完全不同的原因,我遇到了同样的问题 – 我不会在包资源管理器中看到src / main / webapp。
原来它与POM或Eclipse(使用SpringSource Suite 3.5.0)无关,可以加载maven项目。
问题是我的src / main / webapp / Scripts /文件夹里面有.git和.gitignore文件。 我怀疑可能是Eclipse无法处理以“。”开头的文件名。 在webapp文件夹中。 我在多个项目中测试了这个理论,到目前为止它似乎已经成功。
我希望这有帮助。
- 如何获得用可编辑的JComboBox编写的值?
- linux ulimit与java无法正常工作
- Java中的forms参数是什么?
- HttpServletResponse.setStatus()工作一次,再次调用时什么都不做 – 在Java 8 / Tomcat 9.0.0和Java 10 / Tomcat 9.0.8之间进行更改?
- h:包含图像的selectOneRadio
- 如何为Web应用程序推送通知(java / servlet)?
- 如何使用Selenium Webdriver处理浏览器级别的通知
- Spring MVC的问题。 如何从两个或多个对象创建视图?
- JUnit – 我应该在tearUown中为在setUp中实例化的资源分配null吗?