Unrecognised tag
問題
因爲我使用本地代理倉庫,因此settings.xml設置以下:html
<profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8081/nexus/content/groups/public</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8081/nexus/content/groups/public</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> <!--激活配置--> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </profiles>
但在Maven編譯時報了以下異常:java
[WARNING] Some problems were encountered while building the effective settings
[WARNING] Unrecognised tag: 'activeProfiles' (position: START_TAG seen ...\n\t... @269:18) @ C:\Documents and Settings\Administrator.ZQFGROUP.000\.m2\settings.xml, line 269, column 18
[WARNING]web
解決
這是由於錯把activeProfiles配置到了profiles節點裏了,應該把activeProfiles移到profiles以外,更多settings.xml配置信息請參考這裏。apache
No goals
問題
Eclipse安裝了Maven插件後,在項目的pom.xml上右鍵能看到以下:
而我自做聰明地認爲:Maven build 與 mvn compile 是等價的,因而我再點擊"Maven build..."以後,「Goals」是空的,如:
因而就報了這樣的錯誤:maven
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format:or:[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy, pre-clean, clean, post-clean. -> [Help 1]post
解決
解決方法至少有兩種:ui
再點擊"Maven build..."以後,輸入你要執行的「Goals」,如compile,clean,test等等;this
在pom.xml中配置默認的Goal,如:url
<build> <defaultGoal>clean</defaultGoal> </build>
做爲project的子節點。spa
not a JRE
問題
在使用pom.xml配置默認Goal的時,若是默認的Goal爲clean就沒問題,但若是是如:
就會報錯誤:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project Demo: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar
[ERROR] Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.
通過幾番嘗試,才發現並非多個Goal的問題,而是compile Goal的問題。但使用命令的"mvn compile"又是OK的。
幾經折騰才發現錯誤裏說的很清楚:Please ensure you are using JDK 1.4 or above and not a JRE",它須要的是JDK而不是JRE。我給的項目中使用的是公共JRE:
解決
修改Eclipse的配置,使用JDK:Eclipse->Window->Preferences->Java->Installed JREs
Finish後,項目如:
system propery is not set
錯誤:-Dmaven.multiModuleProjectDirectory system propery is not set.
新建一個環境變量M2_HOME指向你的maven安裝目錄
M2_HOME=D:\study\apache-maven-3.3.3
而後在Window->Preference->Java->Installed JREs->Edit
在Default VM arguments中設置
-Dmaven.multiModuleProjectDirectory=$M2_HOME
5. Launching New_configuration
項目上右擊->Run/Debug Settings->刪除 new_Configuration.
maven參考資料:
http://tangyanbo.iteye.com/category/220107