1

Maven ビルド サーバーを Maven 2 から Maven 3 に移行しています。scp を使用して新しい Java アプリケーションをリモート サーバーにデプロイするように Maven をセットアップしています。ただし、「mvn install」を実行すると、次のメッセージが表示されます。

    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Build Order:
    [INFO]
    [INFO] FooCorp Parent Project
    [INFO] FooCorp Daemons
    [INFO] FooCorp Transport Objects and Interfaces
    [INFO] FooCorp Web Client
    [INFO] FooCorp Web Application
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building FooCorp Parent Project S88-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] --- maven-install-plugin:2.3:install (default-install) @ Foo ---
    [INFO] Installing /home/ubuntu/FooCorp/pom.xml to /home/ubuntu/mvn_local_repo/com/Foo/Foo/S88-SNAPSHOT/Foo-S88-SNAPSHOT.pom
    [INFO]
    [INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ Foo ---
    Downloading: scp://mvn.FooCorp.com/var/www/maven2/com/Foo/Foo/S88-
SNAPSHOT/maven-metadata.xml
Exception in thread "pool-1-thread-1" java.lang.OutOfMemoryError: Java heap space
    at com.jcraft.jsch.IdentityFile.decrypt_rsa(IdentityFile.java:648)
    at com.jcraft.jsch.IdentityFile.decrypt(IdentityFile.java:553)
    at com.jcraft.jsch.IdentityFile.setPassphrase(IdentityFile.java:435)
    at com.jcraft.jsch.JSch.addIdentity(JSch.java:225)
    at com.jcraft.jsch.JSch.addIdentity(JSch.java:207)
    at com.jcraft.jsch.JSch.addIdentity(JSch.java:200)
    at org.apache.maven.wagon.providers.ssh.jsch.AbstractJschWagon.openConnectionInternal(AbstractJschWagon.java:133)
    at org.apache.maven.wagon.AbstractWagon.openConnection(AbstractWagon.java:115)
    at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:217)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.connectWagon(WagonRepositoryConnector.java:345)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.pollWagon(WagonRepositoryConnector.java:385)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:571)
    at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

ここでは、私が使用しているシステムに関するいくつかの情報を示します。

:> echo $MAVEN_OPTS
-Xmx2000m -Xms256m
:> mvn --version
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_65, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-36-generic", arch: "amd64", family: "unix"

合計メモリ 4GB の Ubuntu 14.04 で実行しています。

を実行するたびに同じエラー メッセージが表示されますmvn install。javaヒープスペース例外の前の最後のコマンドでダウンロードされているファイル... Downloading: scp://mvn.FooCorp.com/var/www/maven2/com/Foo/Foo/S88-SNAPSHOT/maven-metadata.xml ...リモートサーバーに存在します(アクセスできるので確認しました)。MAVEN_OPTSによると、Mavenには十分なメモリがあるようです。また、top コマンドを使用してシステム メモリを監視しましたが、1.5 GB を超えるメモリを使用することはほとんどありません。このような問題に対する他の多くの解決策を見てきましたが、それらはすべて Maven により多くのメモリを与えることを含みますが、2GB は Maven のニーズをカバーするべきだと思います (私が間違っているかもしれません)。これが役立つかどうかはわかりませんが、「mvn install」を実行でき、完全に機能します。唯一の問題は、maven deploy コマンドです。

ワゴンプラグインは私のPOM.xmlで次のように構成されています

<extensions>
    <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh</artifactId>
        <version>2.4</version>
    </extension>
</extensions>

そして、maven-deploy-plugin 構成は POM で次のように構成されます...

<plugin>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
    <configuration>
        <argLine>-Xmx3000m</argLine>
     </configuration>
</plugin>

私はこれに苦労してきました。他に何を試すべきかわかりません。可能な解決策や一般的なアドバイスをいただければ幸いです。

必要に応じて、さらに情報を追加できます。

ご協力いただきありがとうございます。

4

1 に答える 1

1

ヒープ サイズを増やしてみてください。参照用のPFBリンク。これが役立つことを願っています。

http://javarevisited.blogspot.com/2011/08/increase-heap-size-maven-ant.html

http://javarevisited.blogspot.com/2011/09/javalangoutofmemoryerror-permgen-space.html

:> echo $MAVEN_OPTS -Xmx2000m -Xms256m

ハイライトされたボールドのサイズを -Xms512m に増やして、もう一度試してください。

于 2014-12-16T03:38:15.283 に答える