私は生成された実行可能なJARファイルを実行するために.bat
ファイルを作成しようとしています。私はthisプロジェクトを実行するために.bat
ファイルを作成する方法を見つけました。だから、私はhereプラグインを読んで、私のpom.xml
に以下を追加しました。JARを実行するMaven Appassemblerを使用して.batファイルを作成する方法は?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<assembleDirectory>${assembleDir}</assembleDirectory>
<generateRepository>false</generateRepository>
<repositoryName>lib</repositoryName>
<configurationDirectory>conf</configurationDirectory>
<copyConfigurationDirectory>false</copyConfigurationDirectory>
<programs>
<program>
<mainClass>com.companyname.tests.TestRunner</mainClass>
<id>AutoConfigTest</id>
</program>
</programs>
</configuration>
</plugin>
そして、名前が示すように、はい、このJARは、JUnitテストケースが含まれています。
プラグインがJARをアンパックしてrepo
フォルダを作成しないようにして、それをすべてのJAR(実行可能ファイルと依存関係)を含む私の既に生成したlib
フォルダに設定しました。 .bat
ファイルが生成されていますが、実行中に次のエラーが表示されます。
Error: Could not find or load main class com.companyname.tests.TestRunner
また、実行後もコマンドプロンプトを残しておきます。この場合、すぐに終了します。たぶん、私はエラーが発生しているので。よく分かりません。
だから、もう一度検索して、thisが見つかりました。受け入れ答えが示唆するようにしかし、すでに含まれている私のpom.xml
-
<packaging>jar</packaging>
組み立てディレクトリがある -
AutoConfigTest
|
|--bin
| `- contains the .bat file
|--conf
| `- contains the property files and other configuration files
|--lib
`- contains all the JARs
は、私はここで間違って何をしているのですか?
多分それは( README.mdから)に近い関連
はい、あなたの言いたいこと](http://stackoverflow.com/q/15228501/6042824)はあなたのものと全く同じです。 'jar'はデフォルトのパッケージングであるため、受け入れられる解決策は奇妙です。他のソリューションや提案を試しましたか?それは間違って行くことができるいくつかのことがあり、お互いの答えは、それらのものの1つに取り組むようです。 –
生成された '.bat'ファイルの内容は何ですか? 'lib /'の '.jar'ファイルにクラス' com.companyname.tests.TestRunner'が含まれていますか? – SubOptimal
@SubOptimalはい、 'com'panyname.tests.TestRunner'が' lib'フォルダに入っているjarです。私はそれをチェックした。 –