我是 J2EE 的新手,我无法理解在构建 java web 项目时创建的目录结构。经过一番谷歌搜索后,我明白了我们在 WEB-INF 中存储的内容,但是
1)我无法理解我们在 META-INF 中存储的内容?
2)如何创建目标文件夹?
3)我们在哪里提到应该将所有文件放在目标文件夹中?
我正在使用 Maven 来构建一个基于 spring-hibernate 的项目。
提前致谢
我是 J2EE 的新手,我无法理解在构建 java web 项目时创建的目录结构。经过一番谷歌搜索后,我明白了我们在 WEB-INF 中存储的内容,但是
1)我无法理解我们在 META-INF 中存储的内容?
2)如何创建目标文件夹?
3)我们在哪里提到应该将所有文件放在目标文件夹中?
我正在使用 Maven 来构建一个基于 spring-hibernate 的项目。
提前致谢
2) Maven 为您创建目标文件夹。这是所有 Maven 插件默认转储其工作的地方。
3) Maven 具有从中排除文件的机制。
理解 Maven 的关键是 Maven 遵循约定。这意味着,如果您根据 Maven 的期望来构建项目,那么 Maven 几乎可以不费吹灰之力地做很多事情。例如,这是您在源目录中区分 Java 类和资源的方式:
src/main/java/com/mycompany/MyObj.java
src/main/resources/my/company/spring.context.xml
src/test/java/com/mycompany/MyObjTest.java
src/test/resources/my/company/spring.context.xml
当您运行mvn test
它时,它将编译所有这些,将其适当地移动到目标文件夹,加载 JUnit 运行器并为您提供一个类路径,让 Spring 可以轻松访问测试文件夹下的 spring 上下文。它将运行测试并将报告放在目标下。
Maven 不像 Ant。在 Ant 中,你必须告诉它一切。Maven 在另一端工作,因为它默认所有内容,除非您另有说明。
这是一个常见的问题,因为 java 已经变得如此之大。通常很难说出一种技术在哪里结束,而另一种技术从哪里开始。您需要熟悉您正在使用的所有各种组件的文档。
例如,如果您有一个“目标”文件夹,那么我假设您使用的是 maven。Maven 是一个用于依赖管理的 java 实用程序。当你“mavenize”一个项目时,你同意遵守一堆标准,maven 反过来为你做了很多繁重的工作(编译代码、查找依赖库和运行测试)。maven 所做的部分工作是在这种情况下创建标准 maven 目录“目标”
更多 Maven 信息 - http://maven.apache.org/
至于 META-INF,这是 Java EE 规范的一部分。它确实有关于打包和部署的目的,但您通常不会发现自己经常使用它。它与maven的原理大致相同。您遵守 Java EE 标准,并且符合 Java EE 的工具会为您完成大部分工作。
有关更多信息,请查看此链接 - http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/packaging_deployment/index.html
一般来说,要了解这些内容,您应该查看一些有关 Java EE 的教程并参考您的容器的示例和文档。
1) META-INF 的目的是什么
2-3) 目标文件夹创建 Macven,它管理所有依赖项等:一、二