2012-03-22 41 views
3

我发现Maven隐含了特定的目录布局。但我不明白从这里:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html 其中java库需要编译和运行我的代码应放置。我认为它们不应该放在'src/main/resources'下面,因为资源就像是图片等。另外,将它们放在'src/main/java'下面看起来不太合适。如果我不使用maven,我会将库放在项目的根目录lib目录中。但我不认为这对于Maven项目来说是对的。请指教。在为maven项目放置java库的目录中?

UPD:我解决了这个问题。问题在于我将源代码包设置为src.main.myApp而不是main.myApp。这似乎打乱了maven。

回答

3

Maven以与“标准”Java项目不同的方式处理项目依赖关系。

您声明您在项目的pom.xml中依赖的库:

例如,

<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,它会下载依赖于你和它们存储在你的本地仓库。

+0

我明白了。但IDE不应该有这样的库,所以我可以在IDE中开发和编译我的源代码,而不会产生不满意的链接或不适合? – dhblah 2012-03-22 17:26:33

+0

您可以使用maven插件进行eclipse,它将解析您的pom.xml并自动为您下载库并更新您的项目构建路径。 – 2012-03-22 17:36:44

+0

我应该在本地安装maven吗,还是仅仅使用maven-plugin来安装eclipse? – dhblah 2012-03-22 17:41:50

2

在Maven中,您不会将库存在您的项目中。您可以指定这些库的依赖关系,并将它们填充到本地存储库中。在构建的时候,如果你正在打包这些库(比如说一个war文件),它们会被拉进目标// WEB-INF/lib。但总的来说,整个想法并不是处理这些库或管理它们,只是为了管理你的pom文件中的依赖关系,而忘记其余的。

相关问题