2012-11-26 2 views
5

OSX 10.7.5でDebianと並列処理を実行しています。仮想Debianマシン(ディレクトリを/media/psf/にマウントするParallelsツールを使用)。文句を言う:Mavenアセンブリプラグイン:数値ファイル属性の取得に失敗しました: '/ bin/sh -c ls -1nlaR

Failed to retrieve numeric file attributes using: '/bin/sh -c ls -1nlaR 

が、私は問題以下ググ:彼らはjarlib.xml<directory>${baseDir}</directory>を使用することをお勧めhttp://jira.codehaus.org/browse/MASSEMBLY-588

コンパイルが正常に動作しますが、私が持っている唯一の問題は、Mavenのアセンブリのプラグインです。この変更により、コードはコンパイルされますが、jar tf file.jarで内容をチェックすると、コンパイルされたすべてのソースが完全になくなり、mavenライブラリのみが追加されます。

ローカルのファイルシステム上で正しく動作するファイルは、次のとおりです。この問題を克服する方法は

<assembly> 
    <id>jar-with-dependencies</id> 
    <formats> 
    <format>jar</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <fileSets> 
    <fileSet> 
     <directory>target/classes</directory> 
     <outputDirectory>/</outputDirectory> 
    </fileSet> 
    </fileSets> 
    <dependencySets> 
    <dependencySet> 
     <outputDirectory>/lib</outputDirectory> 
     <unpack>false</unpack> 
     <scope>runtime</scope> 
    </dependencySet> 
    </dependencySets> 
</assembly> 

ありますか?

編集:私たちのシステムで

Apache Maven 2.2.1 (rdebian-4) 
Java version: 1.6.0_26 
Java home: /usr/lib/jvm/java-6-sun-1.6.0.26/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux" version: "2.6.32-5-amd64" arch: "amd64" Family: "unix" 
+0

どのMavenのバージョンですか?どのJavaバージョンですか?あなたは、サブフォルダlibを含むjarの作成はJavaではサポートされていないことをご存じでしょうか?またはあなたが達成したいものは?あなたがしたいことをもう少し詳しく説明できますか? – khmarbaise

+0

上記のMavenとJavaのバージョンが追加されました。私はそれがサポートされているかどうかはわかりませんが、ローカルのファイルシステムでアセンブリプラグインを使用すると、すべて正常に動作します。私は 'mvn assembly:assembly'を使って私のプロジェクトを組み立てたいと思います。 –

+0

あなたはmaven-assembly-pluginのバージョンを見逃しましたか?使用しているポンを追加できますか? – khmarbaise

答えて

0

、これはのmaven-アセンブリ - プラグインの最新バージョンを使用することによって解決しました。

基本的な問題はPlexusという依存関係にあるようです。

0

他の誰かが解決策を探している場合(私の場合は、Ubuntu 12.04 LTSのmavenからUbuntu 14.04LTSのmavenに移動した後に問題が発生しました)の場合は、この厄介な問題に回答します。私の環境といくつかの回避策に関する最初のもの:

(a)私の環境は、最新のmaven、Java 7(OpenJDK)を備えたUbuntu 14.04LTS/amd64です。 (b)ファイル情報が取得されていないファイルは、私が作業しているマシンにインポートされたNFSファイルシステム上にあります(これは問題ではないようですが)。 (c)ls -1nlaR <long pathname on NFS mounted directory>/web.xmlを実行してからmvn war:warを再度実行した場合、エラーは発生しません(つまり、mvn war:warの場合はBUILD SUCCESS)。

回避策はlibmaven-shared-utils-javaをインストールすることでした:

$ apt-cache search plexus | grep maven 
libmaven-shared-utils-java - Replacement for plexus-utils in Maven 

あなたはすでにあなたが問題をグーグルを通じて学んだこととして、叢が犯人である、とUbuntu上のMavenのは、叢から上に移動することを決定しました、それはそうです。前述の共有されたutilをインストールした後、私のMavenビルドは、必要な通りに進んでいます。

1

<outputDirectory>/lib</outputDirectory>

あなたは以下のコードのように "/" 放出し、再試行してくださいすることができます。

<outputDirectory>lib</outputDirectory> 
1

/binに/ SH -C LS -1nlaR {directory_structure /ファイル}
Iはdirectory_structureにアポストロフィ( ')を持っていたフォルダの名前を変更することによってそれを解決しました。

この問題は、コマンド/ bin/sh -c ls -1nlaR {directory_structure/file}を実行中にmavenアセンブリがアポストロフィ( ')をエスケープしないために発生します。

関連する問題