Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我们构建一个JavaWeb项目时会发生什么_Java_Maven_Target_Directory Structure_Web Project - Fatal编程技术网

当我们构建一个JavaWeb项目时会发生什么

当我们构建一个JavaWeb项目时会发生什么,java,maven,target,directory-structure,web-project,Java,Maven,Target,Directory Structure,Web Project,我是J2EE的新手,无法理解在构建JavaWeb项目时创建的目录结构。通过谷歌搜索,我了解了WEB-INF中存储的内容,但 1) 我无法理解我们在META-INF中存储了什么 2) 如何创建目标文件夹? 3) 在这里我们提到应该将哪些文件放置在目标文件夹中 我正在使用Maven构建一个基于SpringHibernate的项目 提前感谢1) 2) Maven为您创建目标文件夹。默认情况下,所有Maven插件都会在这里转储它们的工作 3) Maven有从中排除文件的机制 理解Maven的关键是Mav

我是J2EE的新手,无法理解在构建JavaWeb项目时创建的目录结构。通过谷歌搜索,我了解了WEB-INF中存储的内容,但
1) 我无法理解我们在META-INF中存储了什么 2) 如何创建目标文件夹?
3) 在这里我们提到应该将哪些文件放置在目标文件夹中

我正在使用Maven构建一个基于SpringHibernate的项目

提前感谢

1)

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 runner,并为您提供一个类路径,让Spring可以轻松访问测试文件夹下的Spring上下文。它将运行测试并将报告放到目标下

马文不像蚂蚁。在Ant中,你必须告诉它一切。Maven的工作原理正好相反,因为它默认假定所有内容,直到您告诉它相反的情况。

1)

2-3)目标文件夹创建Macven,它管理所有依赖项,等等:,

这是一个常见的问题,因为java已经发展得如此之大。通常很难说一种技术从哪里结束,另一种技术从哪里开始。您需要熟悉所使用的所有不同组件的文档

例如,如果您有一个“target”文件夹,那么我假设您使用的是maven。Maven是一个用于依赖关系管理的java实用程序。当您“mavenize”一个项目时,您同意遵守一系列标准,而maven反过来会为您做大量繁重的工作(编译代码、查找依赖库和运行测试)。maven所做的部分工作是创建标准maven目录,在本例中为“target”

更多maven信息-

至于META-INF,这是JavaEE规范的一部分。它确实有一个关于打包和部署的目的,但是您通常不会经常使用它。这与maven的原理基本相同。您遵守JavaEE标准,JavaEE兼容工具为您完成大部分工作

有关更多信息,请查看此链接-

一般来说,要理解这些,您应该查看一些关于JavaEE的教程,并参考容器的示例和文档