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。如果我可以进一步澄清,请告诉我。
如果您已删除.m2目录,那么您也删除了整个本地存储库。这意味着maven现在会再次下载任何插件和所有需要的项目依赖关系,这可能解释为什么构建需要更长的时间。通常,您执行的项目越多,您在本地回购站和maven中收集的依赖关系就越多,无需再次获取它们。 – peshkira
理解,但我描述的问题发生在项目的依赖项被下载后的编译步骤中。即使maven已经下载了所有项目的依赖关系,编译时间仍然很长。 –
你可以尝试编译没有maven,看看它是否更快。你运行''''''mvn compile'''或其他生命周期? – peshkira