2011-07-14 16 views
0

私はmavenには新しく、私はやろうとしていますmaven in 5 mins mvnパッケージが空のJarファイルを生成している理由を理解しようとしています。指示どおりに指示に従いますが、機能しません。空のJarを生成するMavenビルド

私はarchtype:generate目標を実行しました。これにより、/ binにmy-appプロジェクト構造が作成されました。私はmvnパッケージを実行しようとしたとき、それは言った

[情報] mojo:リソースを実行することはできません。既存のpo m.xmlを持つプロジェクトが必要ですが、ビルドでは使用していません。

私はいくつかの提案を試みて、最後に/ binに直接1レベル上のmy-appプロジェクト内にpom.xmlファイルを置いてみました。

mvnパッケージが動作しました。

ターゲットは、my-appと同じディレクトリに作成されました。しかし、その瓶は空でした...クラスファイルがなく、それを実行しようとすると、classnotfoundexceptionがスローされました。

さらに、/ bin内からのみ動作するmvnです。少なくとも私の場合はthatsです。しかし、いくつかのイラストが表示されています。たとえば、mnvコマンドはランダムなディレクトリから実行されます。here

また、Mavenでマルチモジュールプロジェクトを作成する方法はありますか?

お願いします。

+0

1.ソースファイルがある(javaクラス?2.ソースフォルダはソースフォルダとしてマークされていますか?)3.ポームを投稿できますか?4. IDEを使用していますかコンソールのMavenを使用していますか? – timaschew

答えて

2

MavenのbinディレクトリにMavenを実行しようとしたと思います。生成されたディレクトリmy-appに切り替えて、そこで実行する必要があります。 Mavenには、pom.xmlに比べて非常に特殊なプロジェクト構造が必要です。 pom.xmlをコピーすると、javaファイルとリソースがmy-appの中に残されていたので、Mavenは空のjarファイルを見つけられず、空のjarファイルを生成しました。

+0

ありがとうございました...それはうまくいきました!! – bohav

0
  1. Mavenをインストールした直後に、OSのPATHに追加する必要があります。これはOSのエクササイズであり、Mavenとは無関係ですが、使用していることを教えてください。
  2. #1を実行すると、どこからでもmavenを実行できます。それがPATHに追加されます。しかし、pom.xmlという名前のファイルを含むディレクトリからビルドを実行する場合にのみビルドを実行することができます(これも変更できるコマンドライン引数があります)。
  3. mvn archetype:generateを使用して)アーキタイプからプロジェクトを生成すると、プロジェクトディレクトリが作成され、そこにpom.xmlといくつかのフォルダとファイルが置かれます。 #2を読んだ後は、mvn archetype:generateの直後に、cd <project dir>が必要であることを意味するはずです。 あなたはあなたのプロジェクトをビルドする準備が整いました。
  4. プロジェクトディレクトリにあるときは、mvn packageはJAR(またはWAR、EAR、バンドルなど)を作成し、mvn cleanはすべてのビルド成果物を削除し、ソースコード。
  5. 基本がなくなるまでマルチモジュールプロジェクトを心配しないでください。いいえ、基本的にはそれ以上のものがない限り、まだそれについて心配しないでください。

不明な点がある場合は、尋ねてください。

+0

ありがとうライアン。私はすべて設定されています。 – bohav

0

mavenは、ソースファイルが特定の場所に存在することを想定しています。あなたの設定がうまくいけば、それは私が思うと、あなたは要素を使ってその場所への参照を明示的に提供する必要があります。

しかし、すべてが正しかったとしても、それは一度起こったことがあります。 Macで動作しましたが、Linux上で空のjarファイルが生成されました。要素を追加すると明示的に修正されました

関連する問題