5

私は数日間、私のマルチモジュールmavenプロジェクト用の実行可能なjarファイルを作成しようとしています。ただし、この jar ファイルを実行しようとすると、「Could not find or load main class src.main.java.com.domain.Mainclass」というメッセージが表示されます (会社のプライバシーのためにドメインと MainClass の名前を変更しました)。

私は何日も検索しましたが、明らかなヒントはどれも機能していないようです.

私のプロジェクトには、すべての依存関係 (パッケージ:POM) といくつかのモジュール プロジェクト (パッケージ:Jar) をダウンロードするメインの Maven プロジェクトがあります。

すべてが正常に動作しているようで、すべてのファイルがクラス ファイルにコンパイルされていますが、どういうわけかメイン クラスが pom に追加されていません。

私のPomファイルプラグイン:

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2-beta-4</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
      <archive>
        <manifest>
          <mainClass>com.domain.project.MainClass</mainClass>
        </manifest>
      </archive>
      </configuration>
      <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
      </executions>
      </plugin>

私が使用するコマンド: mvn clean package、次に cd でターゲット フォルダーに移動し、次のように実行します: java -jar jarfilename.jar

どんなヒントや助けも大歓迎です!

編集:

私の現在の構成では、モジュールごとに 2 つの jar ファイルが作成されます。

  • projectname-jar-with-dependencies.jar
  • プロジェクト名.jar

メイン クラスでモジュールのターゲット フォルダーに移動すると、jar ファイルを正常に実行できます。ただし、親の maven プロジェクト (packageing:pom を含むプロジェクト) の jar ファイルを実行しようとすると、同じエラーが発生します。メインのjarファイルがメインクラスを見つけられない理由を知っている人はいますか?

ありがとう!

4

4 に答える 4

11

src.main.javaメイン クラスのパッケージ名の一部として使用しないでください。これは、デフォルトの Maven プロジェクト フォルダー構造規則の一部にすぎません。構成はおそらく次のようになります。

<archive>
    <manifest>
      <mainClass>com.domain.project.MainClass</mainClass>
    </manifest>
  </archive>
于 2013-04-01T20:57:31.107 に答える