2010-03-30 24 views
10

benim pom.xml'Bu aşağıdaki pasajı (infaz edilebileceği aşağıdaki Tam pom ekli) varMaven'in tutulması bağımlılığı

<dependency> 
    <groupId>aspectj</groupId> 
    <artifactId>aspectjrt</artifactId> 
    <version>1.5.3</version> 
</dependency> 

eklemez ve benim Java dosyalarının birinde ben bir sınıf org.aspectj.lang.ProceedingJoinPoint bakın. Bir "mvn temiz yükleme" yaptığımda, derler ve iyi oluşturur ama bir tutulması yaptığım zaman: tutulma ve tutulması projeyi içe aktarma bana The import org.aspectj cannot be resolved bir hata verir. Oluşturulan .classpath dosyasını kontrol ettim ve bu dosyaya bir girişi yok. Bir "mvn bağımlılık: ağaç" denedim ve bu iyi listeler.

Herhangi bir java dosyası derlemediğim için herhangi bir fantezi ayarım yok. Bu sadece beni yapan rutin bir pom.

Burada birileri bana neyin yanlış gittiğini söyleyebilir mi?

GÜNCELLEME 1:

<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.ekanathk</groupId> 
    <artifactId>stackoverflow</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>aspectj</groupId> 
      <artifactId>aspectjrt</artifactId> 
      <version>1.5.3</version> 
     </dependency> 
     <dependency> 
      <groupId>aspectj</groupId> 
      <artifactId>aspectjweaver</artifactId> 
      <version>1.5.3</version> 
     </dependency> 
    </dependencies> 
</project> 
+0

Sağlanan pom ile denedim ve benim için çalıştı. Her ihtimale karşı Maven'in hangi versiyonunu kullanıyorsunuz? –

+0

POM'in Eclipse tarafından diske kaydedildiğinden emin misiniz? –

cevap

4

Sadece sorunu yeniden çalıştı ve Sadece aşağıdaki pom kullanabilir ve komut satırından bir mvn eclipse:clean eclipse:eclipse yapın: 2.7

GÜNCELLEME 2: Ben eklentisi Versiyon Tutulma maven kullanıyorum ... yapamadı. taze oluşturulan projeye 1.5.3 bağımlılık: aspectjrt: kavanoz

<classpath> 
    <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> 
    <classpathentry kind="src" path="src/main/java" including="**/*.java"/> 
    <classpathentry kind="output" path="target/classes"/> 
    <classpathentry kind="var" path="M2_REPO/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.jar"> 
    <attributes> 
     <attribute value="jar:file:/home/pascal/.m2/repository/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3-javadoc.jar!/" name="javadoc_location"/> 
    </attributes> 
    </classpathentry> 
    <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
</classpath> 

kullandığınız maven Tutulma eklenti hangi sürümü Bu AspectJ'yi ekledikten sonra alıyorum .classpath mı? AJDT'yi kullanmak için yapılandırdınız mı? Yapılandırmayı gösterebilir misin?

+0

Maven eclipse eklentisini kullanma 2.7. AJDT'yi kullanmak için nasıl yapılandırabilirim? Artı, Sıfır yapılandırması ile çalışması gerekmez. aspectj, log4j gibi bir başka kütüphanedir. –

+1

Sınıf yoluna bir bağımlılık eklemek, yukarıda gösterildiği gibi, sıfır konfigürasyonudur (bir kez pomda). Bununla birlikte, Eclipse eklentisi AJDT'yi kullanıp kullanmadığınızı tahmin edemez, ya da bunu söylemeniz gerekmez (http://maven.apache.org/plugins/maven-eclipse-plugin/examples/ajdt-projects.html). Ama bu garip sınıf yolu problemini çözmez. BTW, 2.8 sürümünü kullanmanızı öneriyorum. –

+0

Sadece Maven eclipse eklentisini kullanarak 2.8 problemi çözer. Sadece sistemlerin olması gerekenden daha fazla "akıllı" olmaya çalışmasından nefret ediyorum. Bu durumda, bazı kodları inceliyordum ve ASAP tutulmasını istedim ama bunlar gibi şeyler bir acıdır ***. –

8

Benzer bir sorun yaşadım. mvn eclipse:clean ve daha sonra mvn eclipse:eclipse çalıştırılıyor.

+1

Bunu zaten denedim ve bu –

+0

bana yardımcı olmadı, teşekkürler –

+0

hala bir çekicilik gibi çalıştı! Teşekkürler! – Nigul

7

Benzer bir sorun yaşadım. Maven için Eclipse eklentisi Eclipse'in AspectJ için kendi desteğine sahip olduğunu varsayar. Öyleyse, hiç kimsenin olmadığını (veya hangi sürüme sahip olduğunuzu söyleyin) söylemelisiniz. <build><plugins> bölüme

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <configuration> 
     <ajdtVersion>none</ajdtVersion> 
    </configuration> 
</plugin> 

ekleme yardımcı olmalıdır.

+0

bu, 2.8 maven-eclipse eklentisine yükseltmeden bile sorunumu çözdü. Teşekkürler! – guido

+0

Güzel olan! Bu cevabın neden burada olduğundan emin değil.Bu sayfada sorulan tek gerçek cevap! :) – Steve

1

Bunun yerine m2eclipse kullanmayı denediniz mi? Benim tecrübemde çok daha iyi sonuçlar üretme eğilimindedir.