的src / main / webapp目录不由Eclipse的认可(src/main/webapp

2019-09-04 04:48发布

我使用m2eclipse的导入Maven的Java项目在Eclipse中。

它不承认src/main/webapp作为源目录。

图形在Package Explorer(或当我看着Java的构建路径中项目的属性),
该目录不在源文件夹中(而列表中src/main/javasrc/main/resources做)。

要访问它,我不得不直视src /目录,并开始展开......不是很方便!

但是,如果我运行maven install ,这些资源将被复制到正确的目录。
(例如: src/main/webapp/index.jsptarget/mywar/index.jsp

问题

  1. 这是一个正确的行为吗? (我想它可以作为其他资源来处理...)
  2. 我可以修复它?
  3. 我不知道是否有其他缺点,针对这种情况,我会不知道的权利吗?

Answer 1:

  1. 这是一个正确的行为吗? (我想它可以作为其他资源来处理...)
  2. 我可以修复它?
  3. 我不知道是否有其他缺点,针对这种情况,我会不知道的权利吗?
  1. 是的,对我来说这是正确的行为。
  2. 它并没有真正意义的src / main / webapp的是源文件夹,它不包含编译源文件。
  3. 我不知道。 我想这取决于你的期待:)

这就是说,m2eclipse的做出了贡献,让做src/main/webapp可在使用特定的“Web资源”的标签,像这样的顶级:

这可能是你的关心(的不方便折叠)的解决方案。



Answer 2:

至于行家而言, src/main/webapp是不是在这个意义上是源文件,它的内容不被编译/复制到target/classes ,所以从m2eclipse的的角度来看,这是正确的行为。 是否有你需要的src / main / webapp的被标记为Eclipse的源文件夹一个特别的原因?



Answer 3:

代替添加/ SRC /主/ web应用作为Java构建路径源文件夹的,其添加为文件夹中的展开组件包括:

MyProject的 - >属性 - >部署大会:添加 “/ src目录/主/ web应用” 部署到 “/”



Answer 4:

那么你只需要标记的src / main / webapp的作为Eclipse src文件夹:

右键单击WebApp文件夹 - >构建路径 - >作为源文件夹

不要以为你可以很容易地改变这种行为没有任何丑陋的黑客,在src标记是只是一些具体的Eclipse,使用它来配置它的类路径等。



Answer 5:

在我的情况是,Eclipse没有认识到src/main/webapp作为Web资源文件夹。 我解决它通过:

  1. 删除项目
  2. 。重新启动Eclipse
  3. 以Maven项目的一个新的更新形成SVN。


Answer 6:

一个解决方案是开发用于建立帮助Maven插件M2E支持和声明的src / main / webapp的作为additioanl资源路径。 这也使得日食副本保存资源,构建目标文件夹结构。

        <!-- help eclipse identify the webapp folder as a resource folder: -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>add-resource</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>add-resource</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>src/main/webapp</directory>
                                <targetPath>${project.build.directory}/${project.build.finalName}</targetPath>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>


Answer 7:

答案很多声称,它不会使SENS拥有src/main/webapp作为源文件夹,因为JSP文件是由容器编译期间建造周期没有Maven的。

然而,这确实让当你做安全测试 的意义

一些安全扫描工具提供了可以集成到IDE中的插件,使开发团队能够在本地扫描他们的代码,并在其计算机上安装基本的漏洞,从而减少安全团队的工作因此可以在更先进的测试工作量。

了Eclipse排除这个特定的目录其实是一个巨大的问题:通过这样做,安全工具会默认不包括webapp/目录到扫描过程中,这会导致假阴性 (即不是由工具报告的实际漏洞)。 那么此行为将导致开发团队以为他们的JSP页面(例如)是从安全角度来看是安全的。

如果安全测试团队不注重通过开发团队(有时我们甚至无法检查其扫描已经在本地执行),该产品是更可能与包含在代码中的漏洞发布进行扫描webapp/文件夹。

因此,此行为不会从安全的角度来看是有意义的,并且自称它缺少一些点。

在任何情况下,我通过将解决了这个问题src/main/webapp/通过对夹到构建路径单击它在package explorer > - build path - > use as source folder



Answer 8:

我能想到的一个原因。

我使用Maven开发在Eclipse GWT项目。 在我的配置,在src /主/ webapp目录包含了我不得不提及我的发展努力的一部分,尽管他们不是“编译”文件的HTML和CSS文件。

能够直接得到它们,而不是潜入的src /文件夹是一个加号。 而在POM定义它,这样它就会建立这样意味着我不必手动保持我每次日食运行时添加的文件夹:月食。



Answer 9:

内斯特的角度来看,不开玩笑。 这是一个终端到终端的开发环境,而不仅仅是一个编译器。 它适合于各种来源的文物从JSP的促进构建构建配置,如POM文件的接口。 为什么日食要花费心思,XML和JSP编辑器如果这些都没有编译能力? 顺便说一下,可呈现,是超有用。

对于蚀(或反之亦然)的行家插件是极好的,因为它能增强的.classpath,的.project和其他配置需要立即开始在蚀行家的项目。 然而,每次生成蚀配置(即MVN蚀:蚀),不支持的目录必须手动添加。 这是一个重大吸。

这些插件忽视轻松地在IDE中添加可视新的源文件夹的能力事实上是一个谜给我。 一个行家/ eclipse插件项目页面甚至援引变通制造这些通过切换项目类型和愚弄插件暂时可用源 - 当然,你需要立即或损坏改回构建。

他们为什么不只是创建独立控制的.classpath源声明的能力???



Answer 10:

我发现我面临同样的问题,一个完全不同的理由 - 我不会看的src / main / webapp的在Package Explorer。

原来,它没有什么做任何POM或与Eclipse(使用的SpringSource套件3.5.0)能够加载Maven项目。

问题是,我的src / main / webapp的/脚本/文件夹内有git的和的.gitignore文件。 我怀疑可能是Eclipse并没有能够处理的文件名与begining一个“” 在Web应用程序文件夹中。 我测试了这个理论在多个项目中,它似乎坚守阵地为止。

我希望这有帮助。



文章来源: src/main/webapp directory not recognized by Eclipse