2012-06-21 9 views
7

Standardmäßig stellt das maven-Compiler-Plugin die kompilierten Klassen in ${project.build.directory}/classes. Ich möchte sie in ${project.build.directory}/myclasses setzen. Das Argument -d ändert das Ziel der kompilierten Klassen. Ich habe das Plugin konfiguriert, aber ich habe einen Fehler: javac: directory not found: C:\home\target/myclasses.maven-compiler-plugin wie man das Zielverzeichnis der Klassen ändert

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
     <showDeprecation>true</showDeprecation> 
     <compilerArguments> 
      <d>${project.build.directory}/myclasses</d> 
     </compilerArguments> 
    </configuration> 
</plugin> 
+1

Einfache Frage: Warum? – khmarbaise

+0

Ich war sicher, dass jemand fragen würde;) Ich muss mehrere Gläser in einem Maven-Aufruf mit verschiedenen Klassen verpacken, also muss ich einen Teil der Quelle in einem Ordner und den anderen Teil in einem anderen Ordner kompilieren. – Sydney

+1

@Sydney Maven macht solche Monstrositäten bewusst hart. Die beste Antwort ist, deine Anforderungen zu ändern :-) –

Antwort

6

sollten Sie in der Lage sein, es so zu tun:

<build> 
    <outputDirectory>${project.build.directory}/myclasses</outputDirectory> 
</build> 
3

Der Zielordner muss vorhanden ist. Sie können es mit einer Ant-Task erstellen:

+2

Richtig, aber wenn Sie das tun, können Sie den Compiler auch mit ant as ausführen Gut. –

+1

Denken Sie daran, es zu löschen, wenn Sie 'mvn clean' tun. – Raghuram

+0

' mvn clean' entfernt standardmäßig das ganze '$ {project.build.directory}'. –

Verwandte Themen