「Vendor」を含む日記 RSS

はてなキーワード: Vendorとは

2022-04-19

10年以上同じPCを使っていたが、25,000円で新調した

1か月ほど前まで初代第1世代Core iのPCをほぼノーマルで使っていたが、Windows肥大化(*1(本増田最後に参考webページ記載。以下同様))のせいかweb閲覧やExcel操作程度の作業でも引っかかりを覚えるようになったり、Windows11ブームに煽られてセキュリティ関連の記事を読み古いCPUには脆弱性が付き物だと知った(*2・3・4)り、あれこれあったためPCを新しくすることにした。

その際に色々な知見を得て情報更新ができたため、日記帳リンク集として増田に残しておくことにした。極少数の人にしか役に立たないであろう文章だが、体験談の類として暇つぶしに読んでもらえれば幸い。ただ、過去PC事情を懐古したりするのが目的なら、数年前にホッテントリ入りした別の記事(*5・6)を読む方が有意義かもしれない。

改装作業にどう臨んだか

まず、パーツの買い方を3種類に大別して検討した。

この前段階で格安中華ミニPC(*7)も候補に挙げていたが、拡張の厄介さや商品到着までの時間の長さを難に感じて選択肢から外した。

● H610M/BとローエンドCPUと8GB DIMM×2

今新しく自作PCを組むなら鉄板構成だと思う。現在相場では、M/B 13k円、Celeron 7k円、DIMM2枚組 6k円、SSD 200GB 4k円で約3万円くらいになるだろう(*8・9・10)。構成品のどれかを中古にすれば2万円台前半で抑えることもできそうだ。

しかしながら、最近まで骨董品我慢できた身には過剰スペックになりそうだという懸念逆張り志向のせいでRyzen APUに惹かれたためとで、この組合せは除外した。

中古パーツ1点買い

時機を見極めて個々のパーツを買えれば、安く挙げることができる方法だろう。

だが、動作不良品リマーク品(*11)・その他の不動品(*12)等を掴むリスクやピン折れ曲り(*13)他機器不良への対処を避けるため、この組合せも選ばなかった。

M/B+CPU+αのセット・ベアボーンキット・本体中古で購入

M/BCPU・ビープスピーカー・電源があれば動作検証可能だ(*14)。そのことは前提知識として通用してるだろうと期待し、ジャンクな出品物・者を弾けば少なくとも直ぐに判明するような不良品を掴むことは避けられるだろうと考えて、セット品を軸にパーツ調達することにした。

ただ、個別のパーツだけ欲しいと思う人が多いせいか希望に叶う出品は少なかった。値段や特定のパーツへのこだわりは捨てて条件をだいぶ緩くしたが、それでも購入作業を終えるには結構時間がかかった。

個々のパーツをどう検討たか

作業の結果以下のパーツが手に入った。これら以外にも試用して直ぐ売却したものがあるが、その分は少々の損失で済んだため、実質合計費用は25k円+10k円。

● 電源

元の電源が10年以上持ったので、5年前の製品なら後5年は使えるだろうと考え、中古で済ませることにした。

参考になるまとめ記事を元に、経年による劣化が小さいと思われる、電圧電流の波形が綺麗な製品(*15)を候補にした。5年以上前に発売された商品を1年少々しか使っていない状態良好品だと嘯く詐欺師フリマには跋扈しているが、そういう輩を除外しても選択肢が十分にあるのは幸いだった。プラグイン電源という危険そうな製品(*16)以外に無難選択肢が無かったのは、老害増田には難だったが。

余談だが、電動ブロワーは電源の清掃にとても役立った(*17)。騒音問題にならない環境の人には是非お勧めしたい。

● ケース・M/B

大型のファンを備えた電源ユニットをケース下部に置く組み方が主流になって久しいようだ(*18)が、冷却や静音にこだわる必要が無いのでケースは流用することにした。ただ、電源LEDそのままで機能しないので、オス-メスのジャンパワイヤー(デュポンケーブル)をフリマで買ってピンとコネクタをつないだ(*19)。

マザーボードについては色々調べたが、8ピンのATX 12V電源コネクタ(*20)が一般化して久しいことや、フェーズ数の増加(余談だが、I/O電圧とコア電圧が異なるデュアルボルテージは、30年近く前にモバイルP54Cで初めて採用された)(*21・22)といった電源回りのことで特に知ることが多かった。光物(*23)はあまり興味が無いのでほぼスルーした。

CPUメモリ

RyzenIntel Coreもどちらも魅力的だと思った(*24・25)が、結局はAMDで組むことにした。そこそこのGPUを省電力で使えることが大きかった。

メモリは多少勉強した(*26)つもりでパーツ選定に着手したが、チップセットの16Gbitチップ対応事情(*27)を全く把握していなかったため、相性問題にぶつかって最初に購入したパーツセットを買換えることになった。容量について言うと、16GBだとたまに心許なくなるが32GBだと過剰という感がある。Intelなら24GB(8+16の2枚)載せて16GB分をデュアルチャネルモードで使える(*28)ので、その点は良いなとも思う。

ストレージ光学ドライブ

SATA SSDでも体感速度は悪くない(*29)という言説を見て、安く手に入ったSSDで十分と判断した。記録方式TLCかどうかといった商品選択の時に普通ポイントになる点(*30)は、次に買換えたくなった時に気にかけようと思う。

光学ドライブも電源ユニットと同様、本来は5年程度で買換えるべき製品とされている(*31)が、それはそれとして、電源と同様の理由で5年くらい前の中古品を探そうかと思って調べてみたら、M-DISCという規格(*32)があると知った。対応するドライブメディアを購入すると割高だ、余計に金をかけてまで保存すべきデータはどれだけあるか、そもそも光学メディアの読み書きをする機会はどれだけあるか(*33)等、あれこれ考えた結果光学ドライブは買わないことにした。

サウンド

最近は無音でPCに向かうことが専らなので、USB-DAC排除してHDMIモニタイヤホン出力で済ませることにした。気まぐれに音楽を聴きたくなったらヘッドフォンアンプライン出力につないで使おうと思う。

入力装置

ケースと一緒に死蔵品を引っ張り出した。文字入力を業としない立場なのでキーボードは何でもどうでも良い。

マウスクリックが利き辛くなったので放置してたが、分解修理可能(*34・35・36)だと知ったので実例(*37)を参考に簡単に清掃して使えるようにした。マウスホイール部品交換が必要状態ホイールゴム部分が、加水分解して汚れてたので重曹で洗った(*38)ら、完全に溶けてなくなってしまった)なので、そのうちAliExpressで補修品(MX300適合品ではないが、サイズが同じもの)(*39)を購入しようと思う。

Windowsをどうセットアップたか

初めは旧システムの入ったHDDを新しいM/Bにつないで使っていた。後で中身をSSDクローンしようと考えたが、安物のSSDゆえガンガン書き込むことを必要以上に避けなくても良いなと思い直したので、結局新規インストールすることにした。

Raven RidgeではWindows11アップグレードできない(*40)。だが、Windows11ではGPUが重くなりその対策が未だ無いよう(*41)なので、Windows10のままで良いということにした。

● 旧システムドライブ駆動

Windows7の頃はUEFIで起動しないPCがまだ一般的(*42)だった。このHDDもそういうPCに接続されてたのでフォーマットMBRだった。CSMを有効にすればそのままで起動できるが、そうできるのは古いGPUを使っている時で現行のiGPUではたいてい無効にされる(*43・44)。CSMは頼りにせずGPTに変換して使うのが無難だ。

変換の際はWindows10USB起動メディアmbr2gptを使ったが、ReAgent.xml更新に失敗したというエラーメッセージが出たので、回復パーテーションを弄って(「コンピュータ管理」ではドライブレター付与できないのでdiskpartを使った)修正した(*45・46)。

Microsoftアカウントで常用していたためかライセンスの再認証を求められることも無く、上記問題を除けばほぼすんなりと使用できた。セクターにアライメントのずれが無いかどうか(*47)も調べたが、問題無かった。

新規セットアップ

VMWare上で予行した分も含めて何回もした。セットアップを繰り返した理由は、Administratorを有効にしパスワードを設定しないままメインアカウントを標準ユーザーにしたらAdministratorにログインできなくなって(*48)詰んだり、OneDrive動作選択画面で「このPCにのファイルを保存する」を選択せず「次へ」移動したら戻れなくなった(ドキュメントやピクチャ等のフォルダパスOneDrive指定した後で、再度ローカルストレージに変更するのは割と手間になる)(*49・50)り、システムファイルを移動させようとして次節で説明するようにシステム破壊したりしたためだ。

システムファイルの一部をHDDに移動

SSDの容量節約と書込み抑制のため、ページ、スワップハイバネーションの各ファイルOneDriveフォルダ(ただし、空フォルダマウントしたドライブは移動先に指定できない)・ユーザプロファイルフォルダ下のドキュメント等のフォルダ・AppDataフォルダ下のRoamingフォルダとLocalフォルダの一部・テンポラリフォルダ・ストアアプリフォルダを移動(*51・52・53・54)した。Superfetchはデフォルトで良しとした(*55)。

かつては別アカウントログインしてプロファイルフォルダを全部移動しジャンクションを貼って使うこともできたが、Windows10のあるバージョン以降でそれをするとスタートメニューショートカットやストアアプリ即死する(*56)。一部のシステムファイルが変化するとメニューアプリ全体が損壊判定されるようだ(十分な検証はしてないが、container.datハッシュ値名前になってるファイルを弄ると不味いように感じた)(*57)。こうなるとアカウントを消して再作成する他無くなる。ちなみにCドライブ直下のProgramDataフォルダ等を壊すともっと悲惨で、新規インストールくらいしか回復の手立てが無かった。

おわりに



参考ページ

はてなブックマークされたページにはeidを付記した。

https://b.hatena.ne.jp/entry/1 または https://b.hatena.ne.jp/entry?eid=2(それぞれ、数字部分がeid)のような形式url入力すれば、当該ブックマークエントリーアクセスできる。

タイトル
URL
eid
*1Windows 10バージョンアップを重ねるたびに本当に遅くなっているのか?検証結果はこんな感じ - GIGAZINEhttps://gigazine.net/news/20210622-windows-10-version-slow-down/4704430589992224258
*2Google発見した「CPU脆弱性」とは何なのか。ゲーマーに捧ぐ「正しく恐れる」その方法まとめhttps://www.4gamer.net/games/999/G999902/20180105085/373991174
*3AMDプロセッサ脆弱性セキュリティ企業情報公開--懐疑的見方も - CNET Japanhttps://japan.cnet.com/article/35116106/360332677
*4インテルARMCPU脆弱性「Spectre-v2」の悪夢再び、新たな攻撃手法 | TECH+https://news.mynavi.jp/techplus/article/20220312-2290634/4716634065497432514
*5Sandy Bridgeおじさん」とは何か? : 因画応報http://ingaoho.ldblog.jp/archives/4916067.html362560793
*6ありがとう鼻毛鯖 8年使った鼻毛鯖をついに買い替えました | 日本霜降https://nihonsoukou.com/20181123/18274665750545042615426
*72万円の超格安パソコンGREEN G2」値下げ、高性能CPUに大容量メモリSSD採用仕事でもプライベートでも大活躍 | Buzzap!https://buzzap.jp/news/20220318-trigkey-green-g2-ultra-low-price-pc-happy-price-down-3/4716943171239004674
*812世代インテル Core プロセッサ特集 | パソコンSHOPアークarkhttps://www.ark-pc.co.jp/special/intel-12th-gen-core-series/-
*98GBモジュール | 2枚組 | DDR4 DIMM (288pin) | デスクトップ用 | 通販価格/性能比較一覧 | 価格の安い順 | パソコンSHOPアークarkhttps://www.ark-pc.co.jp/search/?col=3&order=&p1=b21010&p2=c21050&p5=s21010&p6=w11726-
*10〜256GB | M.2 | SSD | 通販価格/性能比較一覧 | 価格の安い順 | パソコンSHOPアークarkhttps://www.ark-pc.co.jp/search/?col=3&order=&p1=b32020&p2=c32024&p5=s32220-
*11やじうまPC Watch中国Intel CPUの偽造品出回る。公式が注意を呼びかけ - PC Watchhttps://pc.watch.impress.co.jp/docs/news/yajiuma/1248215.html4684567815854719490
*12Lenovoに搭載されているAMD CPUベンダーロックが設定されているせいで中古市場が混乱している - GIGAZINEhttps://gigazine.net/news/20220118-lenovo-vendor-lock-amd-cpu/4714151541045747810
*13ASCII.jp冗談ではなく目の前が真っ暗になる恐怖……ピンを曲げてしまったRyzen 9 5950Xの修復を試みる (1/3)https://ascii.jp/elem/000/004/053/4053723/4703873313928579106
*14パソコンが起動しない場合確認方法テックウインド株式会社https://www.tekwind.co.jp/ASU/faq/entry_31.php4666842797243724258
*15自作PC】電源ユニットの選び方を自作経験者がガチ解説する | ちもろぐhttps://chimolog.co/bto-choose-psu/367187040
*16何故プラグインPC電源ユニットコネクタは規格統一されていないのか? - Togetterhttps://togetter.com/li/15640764688976497965880706
*17ブロワーの選び方 | DIY工具紹介部https://diytool.biz/blois170335990
*18“冷却の常識”を徹底検証 - AKIBA PC Hotline!https://akiba-pc.watch.impress.co.jp/docs/dosv/662237.html364049132
*19PCケースのPower LEDケーブル3ピンから2ピンに変換した | TeraDashttps://www.teradas.net/archives/16603/4705898232067265346
*2020ピン ATX 電源は 24ピンのマザーボードに使えるのか – 分かりにくい ASUS マニュアルATX 電源の規格 | Nire.Comhttps://www.nire.com/2009/10/atx-24pin-motherboard-vs-20pin-power/75424033

容量超過のため、anond:20220419200228 に続く。追記もあり。

2018-12-18

anond:20181218111339

いや、入力補完位は対応してるが…

vendor引っ張ってこないと補完候補にゃ出てこんぞ。

2016-08-09

golang半年近く使ってみて

後なんかweb系の企業golang採用多いので、ある程度詳しくなっておけば就職困らなそうという予防線

今のところが成功しなかったらeurekaとかmercariとか雇ってくれませんか!

どっちもユーザーです!(ペアーズでは3名ぐらい逢った、メルカリではバイクMacbook Air売ったなー。)

ポケモンGoとかやんねーし、地味に自分がよく使っているアプリサービスから成功パターンを得るのがいいのかなぁ

なんか、人との接点がうまくできているCtoCサービスがうまくいっているような感じが(CtoCなんだから当たり前か、何いってんだ)

人とコンバージョンしたいです。

2016-01-09

翻訳vvvウィルス(TeslaCrypt)の削除と復旧手順

原文:https://community.spiceworks.com/how_to/125475-teslacrypt-2-2-0-removal-and-decryption

原題:TeslaCrypt 2.2.0 Removal and Decryption

原著者:Isaac Rush's (hewhowearsascarf) Portfolio of IT Projects - Spiceworks 氏 (Thank you for your contribution! This article is a translation of your post.)

翻訳日:2016年1月9日

はじめに

私たちワークステーションのうちの一つがTeslacryptランサムウェア感染しました。すべての文書暗号化され、拡張子vvvに変えられました。マルウェア感染のにおいて最も安全回復方法コンピューターワイプしてバックアップから復元させることです。しかし、それは場合によっては選択肢にならないことがあります私たち場合ユーザローカルコンピュータに何のバックアップもとっていませんでした。それで、私たちランサムウェアを取り除く方法ファイルを復号する方法確認する必要がありました。復号を達成させてくれたPythonスクリプトの作者であるGoogulatorに大きな感謝を送りますhttps://github.com/Googulator/TeslaCrack

そこに書いてある説明に従うといいです。引用していくつか説明を付けたものを以下に用意しました。元の記事にはたくさんの指示が書いてありますが、私たちが行った手順は以下の通りです。

手順(全25ステップ)

1. コンピュータからTeslaCryptランサムウェアを取り除く

セーフモード再起動し、Malwarebytes scanを走らせて、見つかったすべてのマルウェアを削除します。私は複数の信頼できるマルウェアクリーナーを使ってこれが消えたか確認することをお勧めします。必要だと言われたら再起動します。これでウィルスはきれいになったはずです。次はドキュメントを復号します。

2. この説明を見よう: https://github.com/Googulator/TeslaCrack.

私たちPythonスクリプトを使って、AES公開鍵特定して、その数値を因数分解して、それから秘密鍵特定して、そしてファイルを一つ復号します。一度復号に成功したら、コンピュータすべてを対象に実行できます。できるなら、多く速く処理するために他のコンピューターを使ってください。

3. https://github.com/Googulator/TeslaCrack/archive/master.zipダウンロードして「C:\decrypt」に展開する
4. VVV暗号化されたドキュメントを一つ、このフォルダ「C:\decrypt」にコピーする
5. Python 2.7 64-bit release をダウンロードする。 https://www.python.org

インストール管理者権限で行ってください。また、インストール中の操作で、Pythonパスに追加するオプションを必ず選択すること。

6. 管理者権限コマンドプロンプトを開き、以下のコマンドを実行する:

python -c "import urllib2; print urllib2.urlopen('https://bootstrap.pypa.io/ez_setup.py').read()"; | python easy_install pip

pip install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1-cp27-none-win_amd64.whl

pip install ecdsa

7. コマンドを実行する: python teslacrack.py .

私の実行結果は以下の通りです:

Cannot decrypt ./VENDOR LISTING BY CATAGORY.xlsx.vvv, unknown key

Software has encountered the following unknown AES keys, please crack them first using msieve: A1373BCF4EDB39BCFEDD44FA86A82498410A7E83456D8E80E52966F6717CB8B8E5846BBC7A540647AE770FEDEAA0E7F8A0466082156DB332A757407A12C9FB0 found in ./VENDOR LISTING BY CATAGORY.xlsx.vvv

Alternatively, you can crack the following Bitcoin key(s) using msieve, and use them with TeslaDecoder: 5ECA19D475A313AC3DEF915CE6FA37BE012CD1676590C8F253135A3AD92345B78C32C46DB3246ED84A7B9A8C62F1A13D2AF08F09FFB3551701E7B75CCC79457C found in ./VENDOR LISTING BY CATAGORY.xlsx.vvv

8. 最初の数値をクリップボードコピーする

私の場合は以下の値をコピーしました。 A1373BCF4EDB39BCFEDD484FA86A82498410A7E83456D8E80E52966F6717CB8B8E5846BBC7A540647AE770FEDEAA0E7F8A0466082156DB332A757407A12C9FB0

9. http://www.mobilefish.com/services/big_number/big_number.php に行って、16進数から10進数に変換する

さっきの数値はこのようになります: 8443554284208758706290725803426642738777516291375882082881197977752270634322152168104703798454983966849000112082164921264407639940139993317228747401502640

10. 因数分解のためにまず http://factordb.com/ で数値を入力する。

私の場合だと、8443554284208758706290725803426642738777516291375882082881197977752270634322152168104703798454983966849000112082164921264407639940139993317228747401502640 を入力して「Factorize!」を押してみました。もしあなたラッキーなら、画面の左端には「FF」と表示されるでしょう。これは完全に因数分解されていて、すべての因数がリストされていることを意味します。この場合あなたは以下のyafuを使う手順を行う必要はありません。unfactor.pyのところ(訳者注:手順19)までスキップできます

もし「CF」や「C」と表示された場合私たちはまず因数分解をするためにyafuを実行する必要があります因数分解ができたら、 factordb.com に戻ってその整数を下のほうにあるレポートフィールドからレポートしましょう。そうすることで、その数値が「FF」で表示されるようになります因数分解は数値の複雑さによって数時間・数日間・数週間かかります因数分解が終わったら、私たち秘密鍵を得るのに使用するたくさんの数値(因数)を得ていることでしょう。私はmsieve, yafuとこれらのバリエーションを試しました。これを動かすのは結構大変でした。いくつかの問題説明が不完全で、すべての構文を与えられていませんでした。しかし、ついに私はyafuを動かしました。私が何をしたか、以下に書きます

11. http://www.mersenneforum.org/showthread.php?t=20779 から「GGFNS.zip」をダウンロードし、「C:\ggnfs-bin」に展開する
12. http://sourceforge.net/projects/yafu/ から「yafu-x64」をダウンロードし、「C:\ggnfs-bin」に展開する
13. コマンドプロンプトを開き、「C:\ggnfs-bin」に行く
14. 「yafu-x64.exe "tune ()"」を実行する
15. 「yafu.ini」を編集する。「ggnfs_dir=../ggnfs-bin/」「ggnfs_dir=C:/ggnfs-bin/」へ変更し、保存して閉じる。
16. 「yafu-x64.exe "factor(あなた10進数の数値)" –v –threads 4」を実行する

例: yafu-x64.exe "factor(8443554284208758706290725803426642738777516291375882082881197977752270634322152168104703798454983966849000112082164921264407639940139993317228747401502640)" –v –threads 4

17. これはひどく時間がかかる部分です。終われば、「factor.log」に因数がリストされます。このファイルを開きます

因数分解を始めると、小さな因数は素早く見つかり、このようにリストされるでしょう : 「div: found prime factor = x」。ログファイルの中から「found prime factor」を検索します。

さらに「prp」も検索します。このような行が見つかるでしょう。: prp32 = 25647545727466257054833379561743

18. http://factordb.comあなたの数値を因数分解した結果をレポートする。 あなたがすべての因数をレポートしておけば、それは「FF」表示に変わる。あなたはすべての因数を知っている。
19. コマンドプロンプトで「C:\decrypt」に行く。
20. 「python unfactor-ecdsa.py 暗号化されたファイル名 前の手順で得た素数をスペースで区切ったもの」を実行する

すると、AES秘密鍵が出力されます

これが私の実行結果です:

unfactor-ecdsa.py VENDOR.xlsx.vvv 2 2 2 2 3 5 367 12757 25647545727466257054833379561743 75938537910569673895890812481364802067167 3858259146292441335085163995598583072203543699186432807503634945432314399

Found AES private key: b'\xbd\xa2\x54\x3a\x21\x75\xb9\xf3\x0d\xf6\xf3\x09\x60\xec\x08\x2f\x3e\xc5\xef\x61\xd4\x03\xa3\x5b\xc1\x47\x7e\x10\x47\x0a\x7c\x88' (BDA2543A2175B9F30DF6F30960EC082F3EC5EF61D403A35BC1477E10470A7C88)

21. 「teslacrack.py」 の 「known keys」にあなた公開鍵(訳者注:手順8の値)と秘密鍵(訳者注:手順20の値)を追記する。

私は24行目に追記しました:

'A1373BCF4EDB39BCFEDD484FA86A82498410A7E83456D8E80E52966F6717CB8B8E5846BBC7A540647AE770FEDEAA0E7F8A0466082156DB332A757407A12C9FB0': b'\xbd\xa2\x54\x3a\x21\x75\xb9\xf3\x0d\xf6\xf3\x09\x60\xec\x08\x2f\x3e\xc5\xef\x61\xd4\x03\xa3\x5b\xc1\x47\x7e\x10\x47\x0a\x7c\x88',

22. 「python teslacrack.py .」を実行する。

ファイルが復号されるはずです。

23. ドライブ全体を復号するために「python teslacrack.py C:\」を実行する。
24. 終わったら、すべての「*.vvv」と「howto_restore*」を検索し、移動または削除する。

これでもうクリーンかつ復号済みの状態になりました。

25. Backup, Backup, Backup!

あなた重要ファイルバックアップしましょう!できればすべてのシステムで。同じようなことが起こった場合でも、回復するために無数の時間を使うかわりに、バックアップから復元できるようになるから

まとめ

きっとこれらの追加の手順は皆さんを助けます自分がこの手順を行ったときはたくさんの問題がありました。それでもしあなたがこれを不完全だと思うなら、手順を更新するのでお知らせください。たぶん私たちはいっしょにこの手順をより完璧にすることができますありがとう

参照

https://community.norton.com/en/forums/how-decrypt-teslacrypt-vvv-files

http://factordb.com/

http://www.mobilefish.com/services/big_number/big_number.php

http://gilchrist.ca/jeff/factoring/nfs_beginners_guide.html

http://www.mersenneforum.org/showthread.php?t=20779

https://github.com/Googulator/TeslaCrack

2015-02-11

SpringBootアプリjavafxを使って配布しやすくしよう

概要

Javaで開発されたアプリケーションにはインストールにまつわる難点がある。

それによりせっかく興味をもってくれたユーザーも試す前に諦めてしまいがちである

また、サーバーサイドアプリケーションJavaである場合デプロイ監視の際の難点が多く運用者を悩ませてきた。

javafxで導入されたパッケージャを用いることで各OSネイティブインストーラーの作成が可能になり、この問題を解消・緩和できる。

SpringBoot などを用いた ExecutableJar作成するアプリケーションであれば、サーバーサイドアプリケーションであっても一部制限があるものパッケージングできる。

問題点の整理

Javaで開発されたアプリケーションの配布には以下の問題点がある。

解決方法として

javafx-maven-pluginを使うとよい。javafxと冠しているが実態パッケージングツール

javafxの冠があるがためにスタンドアロンアプリ開発者以外を遠ざけている感あり。

Windows(msi/exe), Linux(rpm/deb), Mac(dmg) など各OSディストリビューション固有のパッケージングが行える。

公式ページ( http://zenjava.com/javafx/maven/ )では更新が止まっているが、Github( https://github.com/zonski/javafx-maven-plugin )とMavenRepository( http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.zenjava%22%20AND%20a%3A%22javafx-maven-plugin%22 )を確認するとちゃんと開発は続いている。

実際にどのようにすればパッケージングできるか

まずアプリケーションmaven アプリとして開発する。

pom.xml に以下を追加する。

mainClassはSpringBootなら@SpringBootApplicationのついてるクラスですね。

vendor適当組織や個人の名前を入れておきましょう。

※ 以下の XML が化けるのは増田不具合仕様っぽい。 http://anond.hatelabo.jp/20100205210805

<plugin>
  <groupId>com.zenjava</groupId>
  <artifactId>javafx-maven-plugin</artifactId>
  <version>8.1.2</version>
  <configuration>
    <mainClass>[main method class]</mainClass>
    <vendor>[Vendor Name]</vendor>
  </configuration>
</plugin>

あとはそのままビルドすればよい。

maven clean jfx:native

ビルドが終わると target/jfx/native 以下に、ビルドしたOS/distributionに合わせて msi, exe, deb, rpm, dmg ができあがります

本当であればクロスビルドできてしかるべきなのですが、まだ実現はされていないようです。

これらのパッケージは Widonws であれば Program Files(x86) に、Linux系であれば /opt/ の下にインストールされるようです。

/opt/app-name/ の下には app と runtime の2つのディレクトリがあります

app の下にはビルドした jar ファイル依存ライブラリが置かれています

runtime の下には実行用の jre が配備されています

実行ファイルにそのまま引数を渡せば jar 実行時の引数としてそのまま渡されます。(-Xmxなどはまだ未検証です)

課題

OS毎の注意点

2014-07-17

ともぞう心の句

Vendor Buy Bank I honor thee GUARDS!!!

 
ログイン ユーザー登録
ようこそ ゲスト さん