在什么目录下放置maven项目的java库?

时间:2012-03-22 17:14:24

标签: java maven

我发现Maven意味着特定的目录布局。但我不明白这里:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html 应该放置编译和运行我的代码所需的java库。我认为它们不应放在'src / main / resources'下,因为资源就像图像一样。将它们放在'src / main / java'下也不正确。如果我不使用maven,我会将库放在项目的根lib目录中。但我不认为对于maven项目来说这是对的。请指教。

UPD:我解决了这个问题。问题是我为我的源码设置了src.main.myApp而不是main.myApp。这似乎让maven感到不安。

2 个答案:

答案 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文件中的依赖项,而忘记其余的。