実行可能な.jar
ファイルを作成しました。クラスパスに言及せずにバッチファイルを使用して.jar
を実行するにはどうすればよいですか?
Windowsでは、次のコマンドを使用できます。
start javaw -jar JarFile.jar
これにより、コマンドプロンプトウィンドウが開いたままになりません。
これには、.bat内のjarファイルのパスを指定する必要のない解決策があります。これは、.batファイルが常にjarと同じディレクトリにある限り、jarを変更せずにファイルシステム内で移動できることを意味します。 .batコードは次のとおりです。
Java -jar %~dp0myjarfile.jar %*
基本的に %0
は.batのフルパスに展開され、%~dp0
は、ファイル名を除く.batフルパスに展開されます。そう %~dp0myjarfile.jar
は、.batファイルと同じ場所にあるmyjarfile.jarの絶対パスです。 %*
は.batに与えられたすべての引数を取り、Javaプログラムに渡します。(参照: http://www.Microsoft.com/resources/documentation/ windows/xp/all/proddocs/en-us/percent.mspx?mfr = true )
バッチファイルでjarファイルを実行する場合は、次の内容を含むrunjava.batという空のファイルを作成します。
Java -jar "C:\myjarfile.jar"
次の内容の.bat
拡張子を持つバッチファイルを作成できます
UIを持たず、コマンドラインアプリケーションである.jar
にはJava
を使用します
@ECHO OFF
start Java -jar <your_jar_file_name>.jar
UIを持つ.jar
にはjavaw
を使用します
@ECHO OFF
start javaw -jar <your_jar_file_name>.jar
Java_HOME
が環境変数に設定されていることを確認してください。
cd "Your File Location without inverted commas"
例: cd C:\ Users *****\Desktop\directory\target
Java -jar myjar.jar
batファイルの例は次のようになります
@echo OFF
cd C:\Users\****\Desktop\directory\target
Java -jar myjar.jar
これは正常に機能します。
コマンドラインから.jar
ファイルを実行するには、次のコマンドを使用します。
Java -jar YourJar.jar
これをバッチファイルとして実行するには、コマンドをテキストファイルにコピーし、.bat
として保存します。
@echo off
Java -jar YourJar.jar
@echo off
は、2番目のコマンドが出力されないようにするだけです。
Windowsエクスプローラーで.jarファイルをダブルクリックして機能する場合、これを使用できるはずです。
start myapp.jar
バッチファイルで。
Windowsのstart
コマンドは、背後でファイルをダブルクリックするのとまったく同じことを行います。
Java -jar "C:\\myjarfile.jar"
"\\"
をコマンドに追加する必要がある場合があります。これを試して!
この質問に対する私の理解は、OPがコマンドラインでクラスパスを指定することを避けようとしているということです。これを行うには、マニフェストファイルにクラスパスを配置します。
マニフェストで:
Class-Path: Library.jar
このドキュメントには詳細が記載されています。
http://docs.Oracle.com/javase/tutorial/deployment/jar/downman.html
MANIFESTというマニフェストファイルを使用してjarを作成するには、次のコマンドを使用できます。
jar -cmf MANIFEST MyJar.jar <class files>
相対クラスパス(つまり、同じディレクトリ内の他のjar)を指定すると、jarを移動でき、mdmの回答に記載されているバッチファイルは引き続き機能します。
MANIFEST.MFファイルでクラスパスを指定していることを確認する必要があります。 Mavenを使用してパッケージ化を行う場合、次のプラグインを構成できます。
1。 maven-depedency-plugin:
2。 maven-jar-plugin:
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${version.plugin.maven-dependency-plugin}</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${version.plugin.maven-jar-plugin}</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
結果のマニフェストファイルは、META-INFの下の実行可能jarにパッケージ化され、次のようになります。
Manifest-Version: 1.0
Implementation-Title: myexecjar
Implementation-Version: 1.0.0-SNAPSHOT
Built-By: razvanone
Class-Path: lib/first.jar lib/second.jar
Build-Jdk: your-buildjdk-version
Created-By: Maven Integration for Eclipse
Main-Class: ro.razvanone.MyMainClass
Windowsスクリプトは次のようになります。
@echo on
echo "Starting up the myexecjar application..."
Java -jar myexecjar-1.0.0-SNAPSHOT.jar
これは、Mavenを使用して実行可能jarを構築するための完全な構成です:)
手順1-プロジェクトから実行可能なjarファイルを作成/エクスポートします。
2-以下の内容で.batファイルを作成します
@Echo off
set classpath="c:\jars\lib\*****.jar;c:\jars\lib\*****.jar;c:\extJars\****.jar"
Java -cp %classpath%;c:\apps\applName\yourJar.jar com.****.****.MainMethod args1 args2 ...
@pause
3-使用している外部jarがある場合、クラスパスの設定が必要です。
4- .batファイルとjarファイルを同じフォルダーに入れます。
5- Java -cpコマンドに従って、jarファイルの正確な場所とメインメソッドの完全修飾名を指定し、要件に従って引数リストが続きます。
内部.batファイル形式
------- set Java classpath and jar location -------- set classpath =%CLASSPATH%; ../ lib/MoveFiles.jar;
--------- Java jarで指定された、実行するクラスの完全に分類された名前に言及してください------ Java com.mits.MoveFiles pause
コマンドコンソールで行うのと同じ方法。これらのコマンドをバッチファイルに正確にコピーします。
新しく作成された.batファイルで次のコマンドを使用できます。
@echo off
call C:\SWDTOOLS\**PATH\TO\Java**\Java_1.7_64\jre\bin\Java -jar workspace.jar
システムにJavaの複数のバージョンがインストールされている場合は、Javaのパスを指定し、メインメソッドとマニフェストファイルが指定されていることを確認してください。 jarファイルを作成します。