Eu sou novo no Maven e também no MacOS.
Eu configurei o maven no meu terminal e, ao obter as configurações da versão (usando mvn -v
), parece que ele usa o JDK 1.6, enquanto o JDK 1.7 está instalado. Há algo errado?
Os comandos que eu insiro são estes:
blues:helloworld Ninja$ java -version
java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b06) Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)`
blues:helloworld Ninja$ mvn -v
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 10:15:32+0800) Maven home: /usr/local/Cellar/maven/3.1.0/libexec Java version: 1.6.0_51, vendor: Apple Inc. Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: zh_CN, platform encoding: EUC_CN OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
Respostas:
adicione o seguinte ao seu
~/.mavenrc
:Segunda solução:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
fonte
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
para~/.mavenrc
arquivo.Entrar
e atualize o
CurrentJDK
link simbólico para apontar paraPor exemplo
Agora deve funcionar imediatamente.
fonte
Você também pode fazer,
fonte
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project {projectname}: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Você também pode dizer explicitamente ao maven qual versão do Java compilar. Você pode tentar adicionar o
maven-compiler-plugin
ao seu pom.Se você importou um projeto maven para um IDE, provavelmente há uma configuração maven no seu IDE para o compilador padrão que o maven runner está usando.
fonte
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project {projectname}: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Isso me ajudou. Basta adicioná-lo ao seu pom.xml.
Por padrão, o plug-in do compilador maven usa Java 1.5 ou 1.6, você precisa redefini-lo no seu pom.xml.
fonte
Para usuários do Eclipse. Se você possui uma Configuração de Execução que limpa o pacote, por exemplo.
No painel Configuração de Execução, há uma guia JRE na qual é possível especificar em qual tempo de execução deve ser executado. Observe que essa configuração substitui o que estiver no pom.xml.
fonte
Estou atrasado para esta pergunta, mas acho que a melhor maneira de lidar com versões do JDK no MacOS é usando o script descrito em: http://www.jayway.com/2014/01/15/how-to-switch-jdk -version-on-mac-os-x-maverick /
fonte
Por favor, verifique a compatibilidade. Eu lutei com
mvn 3.2.1
ejdk 1.6.0_37
por muitas horas. Todas as variáveis foram definidas, mas não estavam funcionando. Finalmente eu atualizadojdk to 1.8.0_60
emvn 3.3.3
e que trabalhou. Variáveis de ambiente da seguinte forma:fonte
A solução da @MasterGaurav está funcionando perfeitamente,
Eu normalmente coloco a coisa do switch java em uma função zsh:
Em seguida, você pode executar
java_ls
dois, obter toda a jvm disponível em sua máquina, executarjava_use 1.7
para usar a versão 1.7 para java e maven.fonte