我发现Maven意味着特定的目录布局。但我不明白这里:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
应该放置编译和运行我的代码所需的java库。我认为它们不应放在'src / main / resources'下,因为资源就像图像一样。将它们放在'src / main / java'下也不正确。如果我不使用maven,我会将库放在项目的根lib
目录中。但我不认为对于maven项目来说这是对的。请指教。
答案 0 :(得分:3)
Maven以与“标准”Java项目不同的方式处理项目依赖项。
您在项目的pom.xml中声明了您所依赖的库:
e.g。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>your-project</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>your-project-web</name>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.8.5</version>
</dependency>
</dependencies>
</project>
使用maven命令构建项目时,即mvn install
,它将为您下载依赖项并将它们存储在本地存储库中。
答案 1 :(得分:2)
在Maven中,您不会在项目中保留库。您可以在这些库中指定依赖项,并将它们填充到本地存储库中。在构建时,如果要打包lib(比如war文件),它们会被拉入目标// WEB-INF / lib。但总的来说,整个想法不是处理这些库或管理它们,只是为了管理pom文件中的依赖项,而忘记其余的。