我剛剛下載了OEPE(開普勒)並安裝了m2e和m2e-wtp連接器。 我發現,在這個路徑下:首選項 - > Maven->生命週期映射 - >打開工作區生命週期映射數據有一個預先配置的xml文件,它說maven應該忽略AspectJ的編譯目標,我假設這就是爲什麼AspectJ運行時庫不會添加到項目中,因此項目不會被eclipse識別爲AspectJ項目。aspectj-maven-plugin在開普勒生命週期中未涵蓋
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>1.6</versionRange>
<goals>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
我註釋掉在XML文件中的這些線,並再次重新加載它。 現在,IDE不會忽略生命週期中的AspectJ插件標記,但pom文件卻抱怨說它無法識別執行標記。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
使用靛藍M2E-WTP能夠識別<execution>
標籤爲AspectJ的插件,能夠自動添加AspectJ運行庫 的項目,雖然這不是在開普勒的情況。 (我認爲這是m2e-wtp的工作,使得AspectJ項目脫離pom,但不太確定。)
Btw。我如何讓事情像Indigo一樣工作? 我知道我可以右鍵單擊該項目並將其轉換爲aspect項目以解決問題,但我希望IDE和插件從pom文件中實現此項目需要AspectJ jar。任何想法?
安裝完成後,通過右鍵單擊並配置>轉換爲Aspectj AND Maven>更新項目 – Foyta
Eclipse Luna的開發版進行項目轉換:http://download.eclipse.org/tools/ajdt/44的/ dev /更新/ – ozhan