2016-05-12 15 views
0

Mavenに問題があり、ユーザーのsettings.xmlファイルの<localRepository>の値を尊重していません。ユーザーのsettings.xmlのlocalRepository設定を無視するMaven

私の環境は、シェフを使用してプロビジョニングされたVagrantインスタンスです。 Chef Maven cookbookを使用してMavenをインストールしました。

Mavenは、それは私がSSHユーザのsettings.xml内に定義したローカルリポジトリを無視しているという事実を除いて正常に動作:あなたが見ることができるように、私は間のローカルリポジトリを共有しようとしています

[email protected]:/vagrant$ cat ~/.m2/settings.xml 
<?xml version="1.0" encoding="UTF-8"?> 

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

    <localRepository>/vagrant/.m2/repository</localRepository> 

</settings> 

mvn -X Mavenの:私はデバッグオプションを設定してMavenを実行すると、しかし/vagrant/.m2/repository

:ホストOSとゲストOSのによって共有されているフォルダの下にサブディレクトリとしてMavenのローカルリポジトリを配置することにより、ホストOSとゲストOSのsettings.xmlファイルを正しく読み込んでいることを通知しますが、その理由は、正しくローカルリポジトリを設定しません:

[email protected]:/vagrant$ mvn -X 
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00) 
Maven home: /usr/local/maven 
Java version: 1.8.0_65, vendor: Oracle Corporation 
Java home: /usr/lib/jvm/jdk1.8.0_65/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux", version: "3.13.0-85-generic", arch: "amd64", family: "unix" 
[DEBUG] Created new class realm maven.api 
[DEBUG] Importing foreign packages into class realm maven.api 
[DEBUG] Imported: javax.enterprise.inject.* < plexus.core 
[DEBUG] Imported: javax.enterprise.util.* < plexus.core 
[DEBUG] Imported: javax.inject.* < plexus.core 
[DEBUG] Imported: org.apache.maven.* < plexus.core 
[DEBUG] Imported: org.apache.maven.artifact < plexus.core 
[DEBUG] Imported: org.apache.maven.classrealm < plexus.core 
[DEBUG] Imported: org.apache.maven.cli < plexus.core 
[DEBUG] Imported: org.apache.maven.configuration < plexus.core 
[DEBUG] Imported: org.apache.maven.exception < plexus.core 
[DEBUG] Imported: org.apache.maven.execution < plexus.core 
[DEBUG] Imported: org.apache.maven.execution.scope < plexus.core 
[DEBUG] Imported: org.apache.maven.lifecycle < plexus.core 
[DEBUG] Imported: org.apache.maven.model < plexus.core 
[DEBUG] Imported: org.apache.maven.monitor < plexus.core 
[DEBUG] Imported: org.apache.maven.plugin < plexus.core 
[DEBUG] Imported: org.apache.maven.profiles < plexus.core 
[DEBUG] Imported: org.apache.maven.project < plexus.core 
[DEBUG] Imported: org.apache.maven.reporting < plexus.core 
[DEBUG] Imported: org.apache.maven.repository < plexus.core 
[DEBUG] Imported: org.apache.maven.rtinfo < plexus.core 
[DEBUG] Imported: org.apache.maven.settings < plexus.core 
[DEBUG] Imported: org.apache.maven.toolchain < plexus.core 
[DEBUG] Imported: org.apache.maven.usability < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.* < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.authentication < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.authorization < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.events < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.observers < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.proxy < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.repository < plexus.core 
[DEBUG] Imported: org.apache.maven.wagon.resource < plexus.core 
[DEBUG] Imported: org.codehaus.classworlds < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.* < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.classworlds < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.component < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.configuration < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.container < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.context < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.lifecycle < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.logging < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.personality < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < plexus.core 
[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < plexus.core 
[DEBUG] Imported: org.eclipse.aether.* < plexus.core 
[DEBUG] Imported: org.eclipse.aether.artifact < plexus.core 
[DEBUG] Imported: org.eclipse.aether.collection < plexus.core 
[DEBUG] Imported: org.eclipse.aether.deployment < plexus.core 
[DEBUG] Imported: org.eclipse.aether.graph < plexus.core 
[DEBUG] Imported: org.eclipse.aether.impl < plexus.core 
[DEBUG] Imported: org.eclipse.aether.installation < plexus.core 
[DEBUG] Imported: org.eclipse.aether.internal.impl < plexus.core 
[DEBUG] Imported: org.eclipse.aether.metadata < plexus.core 
[DEBUG] Imported: org.eclipse.aether.repository < plexus.core 
[DEBUG] Imported: org.eclipse.aether.resolution < plexus.core 
[DEBUG] Imported: org.eclipse.aether.spi < plexus.core 
[DEBUG] Imported: org.eclipse.aether.transfer < plexus.core 
[DEBUG] Imported: org.eclipse.aether.version < plexus.core 
[DEBUG] Imported: org.slf4j.* < plexus.core 
[DEBUG] Imported: org.slf4j.helpers.* < plexus.core 
[DEBUG] Imported: org.slf4j.spi.* < plexus.core 
[DEBUG] Populating class realm maven.api 
[INFO] Error stacktraces are turned on. 
[DEBUG] Reading global settings from /usr/local/maven/conf/settings.xml 
[DEBUG] Reading user settings from /home/vagrant/.m2/settings.xml 
[DEBUG] Reading global toolchains from /usr/local/maven/conf/toolchains.xml 
[DEBUG] Reading user toolchains from /home/vagrant/.m2/toolchains.xml 
[DEBUG] Using local repository at /home/vagrant/.m2/repository 
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /home/vagrant/.m2/repository 

Mavenは間違っデフォルト/home/vagrant/.m2/repositoryにローカルリポジトリを設定します。

ゲストOSとホストOSの間で/vagrantフォルダが共有されていて、mvn -Dmaven.repo.local=/vagrant/.m2/repositoryが正常に動作するため、問題はないと思います。

この状況で、Mavenがユーザーのsettings.xmlファイルを正しく読み込みまたは解釈しない理由はありますか?

答えて

0

いつものように、この問題を説明すると、私は答えを見つけるための道を導きます。この記事では、Chef Maven Cookbookにデフォルトの属性node['maven']['mavenrc']['opts']があり、/etc/mavenrc/の値を-Dmaven.repo.local=$HOME/.m2/repository -Xmx384mに設定しています(Cookbookのバージョン2.2.0以降)。これは、ユーザーのsettings.xmlファイルで行っていたローカルリポジトリのすべての設定をオーバーライドしていました。

これを修正するために、私は私のレシピのデフォルトの属性で、この属性のデフォルト値を変更し、ファイルattributes/default.rbdefault[maven][mavenrc][opts] = ''

関連する問題