Construindo o maven da fonte

0

Estou tentando construir o maven a partir do código-fonte (no Ubuntu 12.04) seguindo o tutorial:

link

Eu instalei uma versão anterior do maven usando

sudo apt-get install maven

Eu então verifiquei o maven usando:

git clone https://git-wip-us.apache.org/repos/asf/maven.git maven

Eu então criei maven usando maven de acordo com o guia apache, então eu gravei na versão de checkout do maven e fiz:

sudo mvn install

isso pareceu funcionar bem, sem erros ou qualquer coisa, mas quando eu faço

mvn -version

Minha saída é:

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_40, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.7.0_40/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.5.0-37-generic", arch: "amd64", family: "unix"

Qual não é a versão que eu verifiquei, é a versão do maven que recebi do apt-get. O que exatamente o mvn install faz? Onde foi instalado o maven e como atualizo o comando mvn?

Eu tenho cavado a saída do mvn-install. Parece que está criando arquivos jar, por exemplo, algumas das saídas são:

[INFO] Installing /opt/maven/maven-core/target/maven-core-3.1-SNAPSHOT.jar to /root/.m2/repository/org/apache/maven/maven-core/3.1-SNAPSHOT/maven-core-3.1-SNAPSHOT.jar
[INFO] Installing /opt/maven/maven-core/pom.xml to /root/.m2/repository/org/apache/maven/maven-core/3.1-SNAPSHOT/maven-core-3.1-SNAPSHOT.pom

se eu fizer o cd     /root/.m2/repository/org/apache/maven/maven-core e faça um ls -la

vejo

drwxr-xr-x  9 root root 4096 Sep 25 15:31 .
drwxr-xr-x 33 root root 4096 Sep 25 15:31 ..
drwxr-xr-x  2 root root 4096 Sep 25 15:30 2.0
drwxr-xr-x  2 root root 4096 Sep 25 15:30 2.0.1
drwxr-xr-x  2 root root 4096 Sep 25 15:30 2.0.6
drwxr-xr-x  2 root root 4096 Sep 25 15:30 2.0.9
drwxr-xr-x  2 root root 4096 Sep 25 15:31 2.2.1
drwxr-xr-x  2 root root 4096 Sep 25 15:30 3.0
drwxr-xr-x  2 root root 4096 Sep 25 15:31 3.1-SNAPSHOT

A última entrada parece realmente suspeita. Se eu mudar de diretório para isso e listar seu conteúdo, eu vejo:

-rw-r--r-- 1 root root 557420 Sep 26 08:45 maven-core-3.1-SNAPSHOT.jar
-rw-r--r-- 1 root root   7270 Sep 26 08:44 maven-core-3.1-SNAPSHOT.pom
-rw-r--r-- 1 root root    706 Sep 26 08:45 maven-metadata-local.xml
-rw-r--r-- 1 root root    186 Sep 26 08:45 _maven.repositories

Qual é diferente do que o conteúdo de

/root/.m2/repository/org/apache/maven/maven-core/3.0

são. Eles são:

-rw-r--r-- 1 root root 6629 Sep 25 15:30 maven-core-3.0.pom
-rw-r--r-- 1 root root   40 Sep 25 15:30 maven-core-3.0.pom.sha1
-rw-r--r-- 1 root root  154 Sep 25 15:30 _maven.repositories
    
por Alexander 26.09.2013 / 01:02

1 resposta

0

Heh. 99% lá, mas parou pelo porteiro. Se você quis dizer o que disse, o problema é mvn install , que não instala o mvn. As páginas do manual dizem que o maven não possui uma chave de "instalação". deve ter impresso um "como é isso?" erro. Maven Mau.

A rotina canônica build-from-source é assim, a partir do diretório apropriado:

./configure
make
sudo make install

Faça instalar (d'oh!). Observe o sudo, ou seja, privilégios de root para você a partir de agora, tenho certeza que você sabe.

Eu nunca criei o maven, mas depois do último passo, eu esperaria encontrar o novo programa em algum lugar em / usr / local. / usr / local / share, neste caso? Com alguma sorte, apenas mvn da linha de comando deve encontrar o novo após a instalação, e é isso que você quer, é claro. Se não, você terá que ajustar sua variável de ambiente $ PATH, e talvez sua configuração de pesquisa de biblioteca, mas vamos esperar que isso seja desnecessário.

    
por Salt 26.09.2013 / 04:36