この問題に関する他のスタックオーバーフローの質問を確認しましたが、これらの質問と回答は、pom.xml の不適切なメイン クラス設定に関連しています。正しいパッケージ名と適切な大文字と小文字の区別を持つようにメイン クラスを作成しましたが、jar を実行するたびにCould not find or load main class
.
プロジェクトを github: https://github.com/quicksilversly/mazeに追加しました。Maven jar プラグインの構成は次のようになります。
configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.willisjtc.maze.VertxStarter</mainClass>
</manifest>
</archive>
</configuration>
そして、ここに私のメインクラスがあります:
package com.willisjtc.maze;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class VertxStarter extends AbstractVerticle {
private static final Logger logger = LogManager.getLogger(VertxStarter.class);
public static void main(String... args) {
Vertx vertx = Vertx.vertx();
vertx.deployVerticle("ruby/webVerticle.rb");
vertx.deployVerticle("ruby/mazeVerticle.rb");
}
}
これは私が実行したときに得られるものですjava tvf target/jar-to-run.jar
:
597 Sat Aug 06 21:59:54 MDT 2016 META-INF/MANIFEST.MF
0 Sat Aug 06 21:59:54 MDT 2016 META-INF/
0 Sat Aug 06 21:43:12 MDT 2016 com/
0 Sat Aug 06 21:43:12 MDT 2016 com/willisjtc/
0 Sat Aug 06 21:43:12 MDT 2016 com/willisjtc/maze/
0 Sat Aug 06 21:43:18 MDT 2016 META-INF/maven/
0 Sat Aug 06 21:43:18 MDT 2016 META-INF/maven/com.willisjtc/
0 Sat Aug 06 21:43:18 MDT 2016 META-INF/maven/com.willisjtc/maze/
0 Sat Aug 06 21:43:10 MDT 2016 ruby/
907 Sat Aug 06 21:43:12 MDT 2016 com/willisjtc/maze/VertxStarter.class
220 Sat Aug 06 21:56:14 MDT 2016 META-INF/maven/com.willisjtc/maze/pom.properties
2105 Sat Aug 06 21:56:14 MDT 2016 META-INF/maven/com.willisjtc/maze/pom.xml
137 Sat Aug 06 21:43:10 MDT 2016 ruby/mazeVerticle.rb
221 Sat Aug 06 21:43:10 MDT 2016 ruby/webVerticle.rb
したがって、私のメインクラスは期待どおりです。
jar ファイルを実行するには、何を変更する必要がありますか?