「開発」カテゴリーアーカイブ

【Java】Launch4j で JARファイルからexeファイルを作成する

JARファイルからexeファイルを作成する方法の記録です。 launch4j という実行ファイルの作成ツールを利用しました。

launch4j ダウンロードサイト:

https://sourceforge.net/projects/launch4j/files/launch4j-3/

2025/08時点で、最新版は3.50のようです。

https://sourceforge.net/projects/launch4j/files/launch4j-3/3.50/

3.50のWin32を選択しました。

launch4j-3.50-win32.exe をダウンロードしてインストールします。

インストール先はデフォルトにしました。

Launch4j を起動しました。

Outputファイルと、Jarファイルのところにある右端フォルダアイコンから各ファイルを指定します。

XMLファイルを指定する必要がありました。

指定したフォルダへ、実行ファイルexeの作成ができました。

実行できました。

【McAfee】Jarファイルからexeファイルを生成後にexeを起動しようとするとexeファイルが隔離・削除されるのを回避する

【Eclipse】Java開発環境 Eclipseをインストールする

【Eclipse】Java開発環境 Eclipseの日本語化を行う。(プラグイン「Pleiades」)

【Java】Launch4j で JARファイルからexeファイルを作成する

【Eclipse】Java開発環境 Eclipseの日本語化を行う。(プラグイン「Pleiades」)

日本語化プラグイン「Pleiades」をインストールする記録です。

下記から、プラグイン「Pleiades」をダウンロードすることができます。すでに英語版のEclipseをインストールしている環境なので、オールインワンパッケージではなく、プラグインの方をダウンロードします。

https://willbrains.jp/

Windowsからダウンロードを行います。

下のような画面になりました。ダウンロード準備中ということで、上下に表示されるのは広告のようです。とても紛らわしいですが、真ん中のテキストリンクをクリックしましょう。

ダウロードが始まりました。

ダウンロードしたZIPファイルをすべて展開します。

展開すると、下記のフォルダ、ファイルが展開されます。

このうち、features、plugins、eclipse.exe -clean.cmd の3つを Ecliseのインストールフォルダへ上書きコピーしました。

展開した「Pleiades」フォルダー
Eclipseのインストール先のフォルダ

上書き後の Eclipseのインストール先フォルダです。赤枠を更新しました。

Eclipseのインストール済フォルダにある「eclipse.ini」ファイルを編集します。

-Xverify:none
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

今回のeclipse.iniでは、33,34行目を追加しました。

eclipse.exe -clean.cmdファイル をダブルクリックで実行して、キャッシュクリアを行います。

セキュリティ警告が表示されますが、キャッシュクリアのため実行します。すると、通常とは異なるキャッシュクリアのモードでEclipseが起動しました。

ワークスペースの選択メッセージが表示されました。

Eclipseの画面全体が日本語化されました。

Eclipseの日本語化が終了しました。

【Eclipse】Java開発環境 Eclipseをインストールする

【Eclipse】Java開発環境 Eclipseの日本語化を行う。(プラグイン「Pleiades」)

【Eclipse】Java開発環境 Eclipseをインストールする

Javaの開発環境 IDEのインストール準備の記録です。

今回の記録は、英語版Eclipse をインストールして、あとから日本語化を行う流れとなります。インストールバージョンは、 the Eclipse Installer 2025‑06 R でした。

https://www.eclipse.org/downloads/packages/

下記のWindows 「x86_64」というところからダウンロードを行います。

Download画面へ移動します。「Download」のオレンジ色ボタンを押下します。※韓国のKaKaoコーポレーションからダウンロードするようです。

ダウンロードしたファイルは下記のものです。

ダウンロード画面に、小さく、「SHA-512」と表示されているところを押下すると、ダウンロードしたものが正しいかどうか、HASH値の検証を行うことができます。

C:\Users>certutil -hashfile "C:\develop\eclipse\installer\eclipse-inst-jre-win64.exe" SHA512 SHA512 ハッシュ (対象 C:\develop\eclipse\installer\eclipse-inst-jre-win64.exe): 51203a3144ec  ~ 途中略 ~ 8b8a842b4481a6d58717fe7f08a11f864188e
CertUtil: -hashfile コマンドは正常に完了しました。

サイトで公開されているものと、ダウンロードしたインストールexeのHASH値を比較して同じであることを確認しておきます。

eclipse-inst-jre-win64.exe をクリックします。

インストーラーが起動します。

Java EEIDEのギアアイコンのものを選択しました。

「INSTALL」ボタンをクリックします。

JAVAはインストール時に選択できたので、JRE21を選択しました。

Accept Nowを押下して同意しておきます。

インストールが進みます。

インストールが完了しました。「LAUNCH」から起動します。

Workspaceの場所を指定します。

無事にEclipseが起動し、インストールが成功しました。

Eclipseを日本語化する記録は、こちらです。

【Eclipse】Java開発環境 Eclipseをインストールする

【Eclipse】Java開発環境 Eclipseの日本語化を行う。(プラグイン「Pleiades」)

【Java】Launch4j で JARファイルからexeファイルを作成する

【McAfee】Jarファイルからexeファイルを生成後にexeを起動しようとするとexeファイルが隔離・削除されるのを回避する

JavaのIDEから jarファイルを作成したあとに、実行ファイルのexeをLaunch4jで作成しました。

sample01.exe のように、exeファイルの作成は成功しています。実行しようとして.exeをダブルクリックすると、作成したはずのsample01.exe が消えてしまいます。

これは、利用していたパソコンのMcAfeeのセキュリティー対策の設定による影響でした。

動作確認を行いたいので、McAfeeを確認すると脅威を阻止しましたという表示とともに、exeファイルを隔離して安全対策を行っていました。

今回は、exeの動作確認が必要なので exeファイル隔離対象から除外する設定を追加しました。

リアルタイムスキャンの設定に、「除外するファイル」という設定箇所で、除外対象を設定することができました。

スキャン除外の設定登録ができました。

exeをダブルクリックして実行するときのMcAfeeのオンラインスキャンはスキップされて、無事にexeアプリケーションが起動できるようになりました。

McAfeeはしっかりガードしてくれているようでした。今回は開発の際に回避する方法を記録しておきました。

【Amazon Connect】発信者に番号をプッシュ入力してもらい、別の電話番号へ転送する

オフィスの電話番号へ外線から着信し、受付音声がながれた後に、お客様に担当者の番号をプッシュしてもらいます。該当する担当者の番号が一致すれば担当部署(担当者)へ転送するというコールフローの実装を検証しました。

まずは、着信後に営業時間内か時間外かを確認します。

営業時間内であれば受付用の音声を流します。

時間内の時に「受付1」の音声を流しました。時間外であれば時間外のメッセージを流せるようにしておきます。

続いて「内線番号の入力」になります。お客様が入力した内線番号を「コンタクト属性の設定」を利用して保持しておきます。

次に、内線番号が3つある場合を想定します。

紫色枠内の2つの内線番号に合致した場合(例えば0500と0501とします。)、存在する内線番号と判定して転送を実行する音声を流します。

赤色枠の内線番号の場合(ここでは内線番号=1000のとき、もしくは該当しないそれ以外番号のとき)は、現在は閉鎖された部署の扱いとして内線番号エラーと判定します。お客様には該当する内線番号がないことをお伝えます。

今回は検証のため、内線番号に該当したらすべて特定の電話番号へ転送できるようにしました。フローを分岐して内線番号ごとに転送できるようにすると、各部署へ転送できるようになります。

この方法は中小企業の5部署程度の転送が目安になるでしょう。それよりも転送先の部署が多い場合は、別の方法でDBや変数により動的に転送先を変更できるよう工夫が必要になるでしょう。

少人数の会社の場合は直接携帯電話へ転送させる方法も可能です。(転送分の料金が追加発生しますから長時間の着信通話は避けたいですね)

電話受付の窓口の有人対応をしている場合は、人件費の負担を軽減する仕組みの候補として考えるのもよいでしょう。

【Jenkins】Jenkinsのインストール

https://qiita.com/nejioooo/items/c5081a5b5f6775189bb3

参考にしたサイト:Jenkinsインストール【Windows環境】

今回は、上記のサイトを参考にJenkinsのインストールを行いました。

インストールには、JDKが必要になります。JDKのインストールついては、こちらに作業記録をまとめてあります。

まずは公式サイトへいき、Downloadボタンからインストーラーをダウンロードします。

https://www.jenkins.io/

https://www.jenkins.io/download/

Long term support (LTS) release の方が、長いサポートという扱いのようです。LTSをダウンロードすることにしました。

今回は、Java21 を利用したいと思います。Long term support (LTS) release の公式情報をみていましょう。

https://www.jenkins.io/doc/book/platform-information/support-policy-java/

ドキュメント上は2.479.1ですが、ダウンロードできるバージョンの 2.4942.2 LTS というものが最新のようです。 

Windows版をダウンロードします。

インストーラーをクリックしましょう。

jenkins.msi をクリックすると、Jenkins 2.492.2 のインストールが開始しました。

執事のようなおじさんが案内してくれるようですね。

Run serviceアカウントを利用したかったのですが、私は設定できませんでした。WindowsのMicrosoftアカウントが原因かとおもい、ローカルアカウント(管理者権限)を用意してみましたが、Jenkinsからはログイン認証が通過しません

おすすめされているローカルユーザでの起動はあきらめて、LocalSystemユーザを選択することにしました。

続いてポートの設定はデフォルトで進みます。

ポートは通過しました。

http://localhost:8080/login?from=%2F

ローカルホストにアクセスすると、初期パスワードの入力が必要とのことです。赤文字のパスを開くと、初期パスワードがありましたのでテキストファイルを開いてコピぺして入力しましょう。

初期設定が自動で開始しました。

管理者ユーザーを登録しましょう。

URLを個別に変更できるようなので、登録してみました。

転送されるようです。http://localhost:8080/jenkins/ を登録してみましたが、http://localhost:8080/jenkins/ から http://localhost:8080/ へ転送される動きのようです。

作成した管理者でログインすることができました。

ちなみに、エラーになると、おじさんがまるでプーチンさんみたいになるようです。

アプリケーション・ライフサイクル・マネジメント(ALM)

アプリケーションのライフサイクルマネジメントについて調べてみました。

ALM(アプリケーション・ライフサイクル・マネージメント)の導入による効果については、WIKIに下のように紹介されていました。

コンピュータープログラムの開発・保守における製品ライフサイクル管理のこと。各アプリケーションのライフサイクルにわたって継続的にプロセス管理をする考え方である。

出典:Wikiより アプリケーション・ライフサイクル・マネジメント (英: Application lifecycle management、ALM)

導入の効果としては、主に下記の効果が挙げられることがWIKIに紹介されていました。

  • 品質が向上し、最終的にユーザーの期待に合致するアプリケーション開発ができる
  • コラボレーションの壁が無くなりスムーズに情報が流れる シンプルなシステム開発を推進する
  • アプリケーションと設計の同期をすることで維持管理の時間を削減する
  • スキルとプロセス、技術の向上のための投資を最大化できる
  • 状況に合わせるための時間を削減し、変化するビジネス戦略に合致するための柔軟性が向上する

ALMの役割は、要件、ソフトウェア開発から販売を行い、保守、サポート終了までの範囲を含めて管理することになります。

ALM(アプリケーション・ライフサイクル・マネージメント)を管理する製品の種類を調べてみたところ多くの製品があるようです。

ソリューション・製品名会社特徴参考サイト
EndevorCA TechnologiesOpen Sourcehttps://ja.wikipedia.org/wiki/CA%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC%E3%82%BA
https://endeavour-mgmt.sourceforge.net/
Enterprise ArchitectSparx SystemsUML/SysML/BPMNモデリングツールhttps://www.sparxsystems.jp/
Helix ALMPerforceGain end-to-end traceability across the entire product lifecycle with Perforce ALM (formerly Helix ALM) – application lifecycle management from Perforce.https://www.perforce.com/products/helix-alm
HP Application Lifecycle ManagementMicro Focus International plchttps://support.microfocus.com/kb/kmdoc.php?id=KM01413261&fileName=ALM12.20_WhatsNew_ja.pdf
IBM Rational Team Concerthttps://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB

https://www.itmedia.co.jp/im/articles/0306/24/news001_2.html
JIRAアトラシアンhttps://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%88%E3%83%A9%E3%82%B7%E3%82%A2%E3%83%B3

https://www.atlassian.com/ja/software/jira/service-management
MylynEclipse Foundation
Parasoft DTPParasoft
Protecode System 4Protecode
PTC IntegrityParametric Technology Corporation(パラメトリック・テクノロジー・コーポレーション)
PTC CodebeamerPTChttps://www.ptc.com/ja/products/codebeamer?utm_source=Google_Search&utm_medium=cpc&utm_campaign=ALM_General_Google_Search_CLC&utm_content=ALM_General_Google_Search_CLC-cpc-product_page_03_ALM_Brand-57189&cl1=ALM_General_Google_Search_CLC-cpc-product_page_03_ALM_Brand-57189&cmsrc=Google_Search&cid=7016e000002VyAJAA0&elqCampaignId=32593&gad_source=1&gclid=Cj0KCQjw4v6-BhDuARIsALprm32X3LkuvJckz1BLrSiK0esAT7uZyYcXXMePJFoCOgX9e0OglVnBg3MaAjhgEALw_wcB
PulseGenuitec
Rational solution for Collaborative Lifecycle ManagementIBM
Rocket Aldonロケット・ソフトウェア(英語: Rocket Software)DevOps tools deliver true end-to-end CI/CD for IBM i environments, empowering businesses to implement holistic DevSecOps best practices.https://www.rocketsoftware.com/en-us/products/devops
SAP Solution ManagerSAPhttps://support.sap.com/ja/alm/solution-manager.html
StarTeamボーランド (Borland、Borland International、Inprise Corporation、Borland Software Corporation)https://ja.wikipedia.org/wiki/StarTeam

https://www.amc.rocketsoftware.co.jp/starteam/features/
TeamForge コラブネット (CollabNet)Ensure governance, compliance, and code security standards are maintained in development.https://digital.ai/products/teamforge/
Azure DevOpsマイクロソフト
Visual Studio Application Lifecycle Management

※Microsoft Visual Studio ALM
マイクロソフトVisual Studio Application Lifecycle Management は マイクロソフトが提供する、統合されたソフトウェア開発ツールであり、統合開発環境(IDE)、バージョン管理、作業管理機能、自動ビルド、レポーティング生成を行う機能を含む。Visual Studio 2005 から Visual Studio 2008 までは Microsoft Visual Studio Team System(VSTS)というブランド名であったが、2009年10月に Visual Studio 2010 の一部として Microsoft Visual Studio ALMと改称しリリースされた。https://ja.wikipedia.org/wiki/Visual_Studio_Application_Lifecycle_Management
TuleapEnaleanProduct Management, Agile Planning, Project Tracking, Test Management, Software Development. All-in-one.https://www.tuleap.org/
Jama SoftwareJama Softwarehttps://www.jamasoftware.com/platform/jama-connect/trial/?utm_source=guru99&utm_medium=ranking-site-paid&utm_campaign=30-best-alm-tools-june-2021-list&utm_content=free-trial-url
SpiraTeamInflectra CorporationpiraTeam is the all-inclusive platform for managing your software development and application lifecycle.https://www.inflectra.com/Products/SpiraTeam/
monday devmonday.com Ltd.lan roadmaps, manage sprints, and release products fast – on one flexible platform.
ヘリックスALMImprove your delivery time by utilizing software that integrates Application Lifecycle Management (ALM) and regulated Design Control.https://www.perforce.com/products/helix-alm
OrcanosOrcanos Ltd.achieve and maintain compliance with ease. We offer a range of cutting-edge software tools and services designed to simplify compliance management, automate processes, and improve overall efficiency.https://www.orcanos.com/application-lifecycle-management
ポラリオン
Polarion
SIEMENSEverything you need to achieve agility and have full control over your cyber-physical systems application lifecycle.https://polarion.plm.automation.siemens.com/
Apprendahttps://slashdot.org/software/p/Apprenda/integrations/
Kovair ALMKovair Software, LLC.https://www.kovair.com/presentations/kovair-alm-overview/
SwiftALMNimbleWork, Inc.Auto Detection of Configuration Changes through Smart Import
View Trend Line on Dashboard Widgets
Revamped Item Status Widget Settings Page
Mobile App Improvements
https://www.nimblework.com/webinar/swiftalm-3-0-webinar/

【Jenkins】(ジェンキンス)ソースコードのビルド、コンパイル、テスト、デプロイを自動化

AIによると、下のような機能、特徴があります。

Jenkins(ジェンキンス)は、ソフトウェア開発の自動化を目的としたオープンソースのサーバーソフトウェアツールです。

【主な機能】

  • ソースコードのビルド、コンパイル、テスト、デプロイを自動化できる
  • ビルドやテストの結果を開発者に通知できる
  • バージョン管理システムと連携して、コードの更新を検知して自動的にビルドを実行できる

【メリット】

  • 開発プロセスの自動化や開発コストの削減につながる
  • ソフトウェアの問題を早期に発見できる
  • 開発の品質と生産性を高めることができる
  • 豊富なプラグインにより、多様なカスタマイズが可能

【環境】

  • Javaランタイム環境(JRE)上で動作するため、特定のバージョンのJavaが必要
  • 安定したネットワーク接続が必要
  • JenkinsのWebインターフェースは主要なブラウザ(Chrome、Firefox、Safariなど)でアクセス可能

【使い方】

  • インストールや設定が簡単で、Webインターフェース経由で行うことができる
  • 分散ビルドやテスト環境での運用も可能である
  • スクリプトを記述することで任意の処理を実行したり、GitHubと連携したりすることが可能

Jenkins は下記サイトが公式サイトとなるようです。

https://www.jenkins.io/

CI(継続的インテグレーション) と DevOps(Development(開発)とOperations(運用))

AIからの引用です。

CI/CDとは「Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)」の略称。

CI/CDはDevOpsの文化に欠くことのできない部分ですが、DevOpsはCI/CDのみに限定されません。DevOpsは、開発と運用の連携を包括的に指す手法であり、CI/CDはそのプロセスの一部という関係性になります。

【CI/CD】

  • 継続的インテグレーション(CI)と継続的デリバリー(CD)の略称
  • 開発から本番リリースまでを自動化するための仕組み
  • 開発の各段階に自動化を取り入れることで、開発効率の向上やヒューマンエラーの防止を図る

【DevOps】

  • Development(開発)とOperations(運用)を密接に連携させる手法
  • 開発チームと運用チームが連携して開発を進めることで、運用に合うソフトウェアを開発する
  • ソフトウェアの導入や更新を迅速に進めることを目指す
  • コラボレーション、チーム構造、観測、バージョン管理など、ソフトウェア開発ライフサイクル全体に及ぶ

validation「妥当性確認、入力規則」、verification「検証」

verification:「検証」客観的証拠を提示することによって、規定要求事項が満たされていることを確認すること。

検証、要求事項の確認。イメージしやすい例では、SalesforceではEmailが存在確認をするときに、実際にEmailを送信してURLをクリックして妥当性を確認しています。

validation:「妥当性の確認、チェック」

イメージしやすい例では、Data Validationというと、データが正しいかチェックをする場合にValidationを行います。

Salesforceでは、データを登録する前に入力規則(Validation Rule)がチェックしていますね。

最終成果物が顧客の期待にそっているかどうかを確認するときにもValidationということがあるようです。

UAT(ユーザー受け入れテスト)や運用開始後の評価後にもValidationということがあるようです。