Ho entrambi JDK 1.6 e 1.7 installati sul mio sistema (Linux, sotto la directory/opt). Ho aggiunto la directory bin per JDK 1.6 nel mio percorso, quindi questa è la versione di Java usata di default.Come configurare Maven per utilizzare JDK6 di default, ma JDK7 come necessario
Sto lavorando a un progetto che richiede JDK 1.7 e alcuni che richiedono 1.6. Precedentemente avevo impostato le impostazioni JDK 1.7 in Eclipse, ma volevo convertire questo progetto in Maven in modo che tutti potessero usare il loro editor preferito.
E 'possibile specificare la posizione 1.7 su un Maven installazione/configurazione (e non nel file POM) in modo tale che esso utilizza 1.6 di default e 1,7 quando si specifica il progetto lo richiede in POM? Per quanto ne so, tutti quelli che lavorano su un progetto dovrebbero avere gli stessi contenuti nei loro file POM, quindi sono riluttante a impostare qui la posizione della directory Java 7 (dato che sarà diversa sulle macchine di tutti).
$ mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /opt/apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /opt/jdk1.6.0_45/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-27-generic", arch: "amd64", family: "unix"
L'aggiunta dei seguenti:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<outputDirectory>${project.build.outputDirectory}/resources</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
risultati in:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project golemlite: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
questo sembra la strada da percorrere ; presumibilmente 'settings.xml' dovrebbe essere tenuto fuori dal VCS (impostato come download separato)? – ataulm
Dovrebbe essere comunque tenuto fuori da VCS in quanto potrebbe contenere impostazioni locali specifiche. È possibile archiviare un modello se si desidera suddividere facilmente alcune impostazioni predefinite, ma ogni utente dovrebbe adattarlo alle proprie esigenze. –
Ah, anche l'impostazione di una variabile d'ambiente è sufficiente per evitare un file di impostazioni (ma è necessario che ogni sviluppatore imposti tale variabile) – ataulm