6

Ubuntu および SuSE にインストール可能にしたい jar のコレクションに準拠した Java アプリケーションがあります。インストーラーが JRE をチェックし、ファイルの関連付けを登録し、アンインストール時に Web サイトをロードできるようにしたい。

Ubuntu と SuSE が異なるアーキテクチャに基づいていることは理解していますが、これを行う一貫した方法はありますか?

私がやろうとしていることを達成するのに役立つ、使用するユーティリティや読むべきガイドについてのアドバイスはありますか?

4

6 に答える 6

10

プラットフォームごとにとを配布するdebと、IMOに最高のユーザーエクスペリエンスとシステム統合(JREの依存関係の確認、ファイルの関連付けの登録など)が提供されます。rpmDebianベースのディストリビューションについては、Ubuntu用のJavaアプリのパッケージ化をご覧ください(スライドはこちらから入手できます)。を構築するrpmには、openSUSE用のRPMハウツーまたはJavaソフトウェアの開発とパッケージ化をご覧ください。

プラットフォームごとにパッケージをビルドしたくない場合は、たとえばIzPackを使用してインストーラーを配布することをお勧めします。このツールを使用すると、独自のクロスプラットフォームインストーラーを生成でき、ネイティブ統合を提供し、高度にカスタマイズ可能で、アンインストール部分をカバーし、インストーラーの生成を自動ビルド(AntまたはMavenベース)に簡単に含めることができます。それは本当に素晴らしいツールです。また、深刻な参照があります(Sun Microsystems、JBoss / RedHat、Scala言語プロジェクト、一部のObjectWeb / OW2プロジェクト、XWikiなど)。

于 2010-01-06T22:19:42.560 に答える
3

これで試してみてください。このインストーラーは、ほとんどの Linux ディストリビューションで動作します。

jar を .tar.gz アーカイブに挿入します。[プログラム] メニューにメニュー エントリを作成する場合は、「YOUR PROGRAM.desktop」ファイルを作成し、このスクリプトをその中に入れます。

[Desktop Entry]
Comment=YOUR COMMENT
Name=YOUR PROGRAM
#(Must same as .desktop file's name)
Exec=java -jar "(Path to Extracted folder)/myapp.jar"
Terminal=false
Type=Application
Icon=(Path to Extracted folder)/myapp.png
Categories=Development

OK、これで .tar.gz アーカイブにも入れることができます。

ここで、「install.sh」ファイルを作成する必要があります (ファイル名は重要ではありません。拡張子なしでも動作します - .sh)

コードは次のとおりです。

#!/bin/bash
if which java >/dev/null; then<
sudo tar xvfz YOUR PROGRAM.tar.gz -C /opt #(Path for Extract Files)
mkdir ~/.local/share/applications
sudo tar xvfz DESKTOP.tar.gz -C ~/.local/share/applications
echo "Program installed.!"
else
    echo "JRE Not Installed..!"
fi
read
exit

3 つのファイルすべてを同じフォルダに入れ、次に install.sh ファイルを実行します (実行可能としてマークする必要があります)

于 2011-01-08T10:42:09.470 に答える
2

ユーザーを疎外したくない場合は、そのディストリビューションにネイティブなツールを使用してユーザーがパッケージを管理できるようにするために必要なことは何でもしてください(Pascal Thiventの回答を参照)。UbuntuとSUSEの場合、これはdebパッケージとrpmパッケージを意味します。

ユーザーとして、私は自分のインストーラーでパッケージをインストールする必要があるときはいつでもすぐにイライラします。

于 2010-01-21T14:53:28.993 に答える
2

BitRock InstallBuilderを使用できます。これにより、GUI インストーラー、RPM および DEB パッケージを作成できます。指定したことを実行できます (ファイルの関連付け、Web ページの起動など)。商用ですが、オープン ソース プロジェクトには無料のライセンスがあり、小規模企業には割引があります。

于 2010-01-21T14:30:47.300 に答える
1

GUI インストーラーをお探しの場合は、InstallJammerをご覧ください。それ以外の場合は、プラットフォームごとに個別のネイティブ インストーラーを作成することを検討してください。SuSE の場合は RPM、Ubuntu の場合は DEB。InstallJammer は GUI を提供し、必要に応じてこれらの各システムのネイティブ パッケージ マネージャーに登録することもできます。

于 2010-01-06T20:59:45.503 に答える
0

Java アプリを Debian/Ubuntu deb アーカイブとしてパッケージ化する必要がありましたが、適切なガイドが見つからなかったため、deb アーカイブの作成に成功したときに、独自のガイドを作成しました。

基本的には、.class ファイルなどを .deb アーカイブの準備が整ったファイル階層に配置する Bash スクリプトを作成し、パッケージ化されたプログラムを起動する実行可能スクリプトを記述し、GUI 操作用の .desktop ファイルを処理して実行するだけでした。 dpkg -- 全体をビルドします。また、重要なステップとして、結果の .deb ファイルに対して lintian -i を実行して、すべての標準とポリシーに準拠していることを確認してください。

于 2013-03-01T15:28:28.660 に答える