3

exec-maven-plugin を使用して maven から「npm install」を実行しています。そして、次のようなエラーで失敗します:

module.js:340
throw err;
      ^
Error: Cannot find module 'D:\projects\git\code\node_modules\npm\bin\npm-cli.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3

明らかに、プロジェクト パスの下に npm-cli はありません。nodejs がインストールされているグローバル パスにあります。

したがって、ビルド全体がステータスで失敗します

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (npm) on project myproject: Command execution failed. Process exited with an error: 8 (Exit value: 8) -> [Help 1]

コンソールで「npm install」が完全に正常に実行されるというもう 1 つの興味深い点。問題は、maven から実行した場合にのみ発生します。

どんな考えでも大歓迎です!

4

2 に答える 2

4

Javaのバージョンがmavenの動作にどのように影響するかは驚くべきことです。

問題は、maven から exec タスクを実行しようとしたときに java1.7_25,java を使用したときに、~dp0 パス (実行されるタスクのターゲット パス) が壊れていたことです。

私は単純にjava1.7_40に更新しましたが、すべてが完全にうまくいきました。

于 2013-10-11T12:39:07.360 に答える
1

私のような古いJDKで立ち往生している場合の別の回避策は、実行することです

cmd /c npm install

exec-maven-plugin から。

于 2013-11-06T10:11:19.447 に答える