問題の原因に関するアイデアが不足しています。私はJavaのjarファイルを持っています(もし重要であれば、intelijの下にgradleから構築されています)。Java Jar - クラスパスの問題
Jarにはマニフェストがあります。 jarファイルを含むディレクトリから
java -jar MyJar.jar
を起動は、Javaが
mainclass2
にjarファイル内のマニフェストファイルを編集するとマニフェストから読んでいる「メインクラスcompanyname.mainclassを検索またはロードできませんでした」を与えるエラーで名前を変更しますメッセージ
マニフェストは、ライン上の唯一のバージョンでは、ライン上のメインクラス属性なので、ジャーに
すべての依存関係は、/ libフォルダに相対している2行の空白行が含まれていますマニフェストに指定されているクラスパスがありません
zipファイルプログラムでjarファイルを開くと、
mainclass
というファイルがあるフォルダcompanyname
が表示され、修飾名がjar構造に反映されます。大文字は正しい。手動でクラス名
java -cp MyJar.jar companyname.mainclass
を指定することができます同じクラスが見つからないというエラー問題のクラスがメインメソッドを持っている、とパッケージされていないとき、IDEの下で正常に動作ありません。
私の欠点は何ですか(私の頭から髪の毛がますます離れています)。
編集追加の詳細: - Javaの8
ジャー構造使用:
-META-INF
MANIFEST.MF
-companyname
-module
-interfaces
interface1.class
-commands
baseCommand.class
register.class
specialCommand.class
moduleSpec.class
moduleProcessor.class
mainclass.class
log4j.xml
springconfig1.xml
springconfig2.xml
マニフェストファイル:
Manifest-Version: 1.0
Main-Class: companyname.mainclass
(newline char here)
(newline char here)
jarファイル –
のファイルの構造と場所を編集で共有します。 – SeeMoreGain
マニフェストのコンテンツも追加したいのですが? –