2011-10-24 2 views
-1

メインクラスのパッケージがjarのルートにないJarをビルドしたいと思います。アプリケーションでJava 6:メインクラスのパッケージがjarのルートにないjarを構築する

、私はちょうど

com.gmail.bernabe.laurent.test.HelloWorld 

メインクラスを書いている私は単純にEclipseのIDEからのRunnable jarファイルを作ることができますが、私はさらに =>最終を持つステップに行きたいと思いますこの


ルート

=> META-INF

のように構成瓶

=> Libの

=====> COM

==========> Gmailの

...


の代わりに:

ルート

=> META-INF

==> COM

======> Gmailの

...


はそれがジャーが適切に実行されるようにマニフェストファイルを設定することは可能ですか?事前に

おかげで


は、なぜ私はこれをしたいですか?

私は

=> JOGL (subdirectories are JOGL just needed files) 
=> CORE (subdirectorie is the core application package) 
=> LAUNCHER (subdirectory is the custom classloader package) 
=> META-INF 
+0

で発見することができますなぜ私は-1を取得したのですか?その理由について私に通知するだけです。 – loloof64

答えて

2

はいに従っていないとして組織JOGLベースのjarファイルを構築したいです。

いいえ、あなたはそれをしてはいけないので:あなたのコードをサポートしています。 2年後に自分自身でさえ、JarClassLoaderで定義された数百のジャーを見て、あなたは数十の "通常の"プロジェクトに取り組んでいました...今、まあ、今はJARファイルがあります。あなたはそれがトリッキーなカスタムローディングスキームを持っていると思いますか?私はそうは思わない。

はい、メインクラスをもう1つ追加することができますので、クラスローダーを設定してから、そのクラスをすべてのレイアウトからロードします。あなたはマニフェストとスタートアップクラスを「適切な」場所に置いておく必要があります。

クラスローディングのチュートリアルがhttp://java.sun.com/developer/onlineTraining/Security/Fundamentals/magercises/ClassLoader/help.html

+0

「いいえ」の部分についての根拠を提供するために更新されました。 – alf

+1

それは慣例と仕様に似ています。ライセンス交付とは関係ありません。非定型のjarコンテンツレイアウトを作成するためにカスタムクラスローダを使用することは、それが価値あるものよりも多くの労力を要します。あなたのやり方をしたいと思うことには何も間違ってはいませんが、誰もそれをやっていない人がいれば、それは理にかなっていないか疑問に思うでしょう。編集:これは、今行っているコメントに応じていた。 –

+0

それでは、カスタムクラスローダーを使用せずに、ルート(「適切な」場所)にクラスパッケージを含まない、何をしたいのですか? – loloof64

関連する問題