mvn assemby:singleを使用してJARにアセンブルするjavamvnアプリがあります。
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>se.test.tools.search.CompanyIndexer</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>se.test.tools.search.CompanyIndexer</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-my-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
アセンブリは機能しているようですが、jarファイルを実行しようとするとエラーが発生します。
admin:target admin$ java -jar companyindexer-1.0-jar-with-dependencies.jar /Users/admin/Desktop/ PART
Exception in thread "main" java.lang.NoClassDefFoundError: se/test/tools/search/CompanyIndexer
Caused by: java.lang.ClassNotFoundException: se.test.tools.search.CompanyIndexer
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
se / test / tools / search / CompanyIndexerは、pomでメインクラスとして指定するメインクラスです。私はここで何を間違えましたか?2つの引数を送信する必要があることに注意してください。