2013-07-22 43 views
0

我的Maven安装最近开始花费很长时间来编译项目。当我能够在不到两分钟的时间内用超过100个源文件构建项目时,只有一个源文件的项目需要4分钟才能在我的系统上编译。我不确定我已经做了什么来解决这个问题。到目前为止,我唯一的理论是关于Maven在构建过程中似乎使用的local.repository目录,因为我错误地删除了这个文件夹(?),因为它看起来是空的和无用的。使用Maven编译时遇到的问题

我试图解决这个问题到目前为止还包括升级我的Maven构建到3.1,重新启动我的机器,删除行家缓存`(~/.m2/)和增加在here描述的提供给Maven的内存量。

我生成的输出:

[INFO] ------------------------------------------------------------------------ 
[INFO] Building my-app 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ my-app --- 
[INFO] Deleting /Users/alexwood/Software_Development/Projects/Maven Tutorial/my-app/target 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ my-app --- 
[WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory /Users/alexwood/Software_Development/Projects/Maven Tutorial/my-app/src/main/resources 
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ my-app --- 
[WARNING] File encoding has not been set, using platform encoding MacRoman, i.e. build is platform dependent! 
[INFO] Compiling 1 source file to /Users/alexwood/Software_Development/Projects/Maven Tutorial/my-app/target/classes 

我的Maven的版本信息:

Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-27 19:15:32-0700) 
Maven home: /usr/local/Cellar/maven/3.1.0/libexec 
Java version: 1.6.0_51, vendor: Apple Inc. 
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
Default locale: en_US, platform encoding: MacRoman 
OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac" 

我使用的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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.mycompany.app</groupId> 
<artifactId>my-app</artifactId> 
<packaging>jar</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>my-app</name> 
<url>http://maven.apache.org</url> 
<dependencies> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
    </dependency> 
</dependencies> 

任何帮助将是非常appre ciated。如果我可以进一步澄清,请告诉我。

+3

如果您已删除.m2目录,那么您也删除了整个本地存储库。这意味着maven现在会再次下载任何插件和所有需要的项目依赖关系,这可能解释为什么构建需要更长的时间。通常,您执行的项目越多,您在本地回购站和maven中收集的依赖关系就越多,无需再次获取它们。 – peshkira

+0

理解,但我描述的问题发生在项目的依赖项被下载后的编译步骤中。即使maven已经下载了所有项目的依赖关系,编译时间仍然很长。 –

+0

你可以尝试编译没有maven,看看它是否更快。你运行''''''mvn compile'''或其他生命周期? – peshkira

回答

2

问题最终与JDK相关。重新安装我的系统的最新Java版本解决了这个问题。