JAVA関連のことを調べてみた2019年11月29日

JAVA関連のことを調べてみた2019年11月29日

Eclipseプロジェクト(Maven)のアプリのURLを変更する。

もともとあったEclipseプロジェクトをMavenに変更したときに適当な名前を付けてしまったため、元のURLが変わってしまいました。
おかげでアプリがうまく動かない事象が発生したので:sweat_smile:、その解決策を備忘録として残してあります。

### 今回やりたいこと。

スクリーンショット (12).png

↑アプリを開いた際のトップページのURLが「localhost:8080/test1/」となっているところを「localhost:8080/docoTsubu2/」に直したい↓。

スクリーンショット (11).pngargs4j defaultを表示させない方法

## 概要
先日args4jを使っていて、以下のような現象に悩まされました。
defaultの部分が自動生成される。

“`java
-h (–help) : print usage message and exit (default: true)
-v (–version) : print version (default: false)
“`

## 解決策
API仕様を見たところ、withShowDefaultsというメソッドがデフォルトでtrueを返しているようなので、falseを渡してあげます。

“`java
ParserProperties parserProps = ParserProperties.defaults().withShowDefaults(false);
“`

“`java
-h (–help) : print usage message and exit
-v (–version) : print version
“`
defaultが表示されないようになりました。

## 参考
API仕様

元記事を表示

Mediatorパターン

**オブジェクト間のやり取りを集中化する**パターン。

Mediator …「仲介者」。

#Mediatorの働き
密結合 → 疎結合。
 ∟ Mediatorを介して、オブジェクトを**完全に分離**する。

##利点
– Mediatorがサポートするオブジェクトをシステムから分離することにより、そのオブジェクトの再利用性が向上する。

– 制御を集中化することで、システムの保守性が向上。オブジェクトのやり取りが簡素化。

##欠点
– 設計を間違うと、Mediatorオブジェクト自体が複雑になる

元記事を表示

Ecllipseのエラーの件

コードを書いて実行すると、問題が検出されましたとのウィンドウが開き、

下記のメッセージが表示されます。

org.eclipse.epp.logging.aeri.ide

解決方法ご教授願います。

元記事を表示

dbunit 2.6.0ならpoiは勝手に入ってくる

雑なメモ

dbUnitでxlsxからテストデータ流すぞってときには、2.6.0を使うと、dbUnitの中で必要なPOIとかのDependency書いててくれるから、自分では特に書かなくていい。

元記事を表示

自主勉1日目

はじめに言っておかなければいけないのは、
「いくら良い先生がついたところで、わたしのポンコツ具合は変わらない」
ということだ。

いつも「なに考えてるのかわかんない」と言われる謎回路変換がかかっているので、間違いもあるかもしれない。
しかし出力しないと気づかないので、それも含めて勉強していきたいと思う。

テキストは『スッキリわかるJava入門』
https://book.impress.co.jp/books/1113101090
ほかの本は見たことがなく、比較できない。
ちなみに、JVM君のイラストがめちゃくちゃかわいいので、個人的には100点。

1章を見返してみたけど、もうfinal(+大文字)で定数とか、そういえばあったな状態になってて怖い!
そのくらい何も知らないところからのスタートなのは、いつも通りだけど。

今日はここまで。

元記事を表示

Jetty のログを任意のディレクトリに出力する方法

# 概要

軽量Webサーバーの[Jetty](https://www.eclipse.org/jetty/)では以下の2つのログファイルが出力されます。

* 標準出力/標準エラー出力
* アクセスログ

これらのログファイルはデフォルト状態では `jetty.base` プロパティで指定されたディレクトリ直下の `logs` に出力されます。

Jettyのリファレンス [Default Logging with Jetty’s StdErrLog](https://www.eclipse.org/jetty/documentation/current/default-logging-with-stderrlog.html) や [Configuring Jetty Request Logs](https://www.eclipse.org/jetty/documentation/current/configuring-jetty-request-logs.html) を参照しましたが、出力先を任意のディレクトリに変更する方法が分かりにくかったので本記事でまとめました。

# 内容

元記事を表示

Java暗号化、Word文書の解読

いくつかの重要な文書に対して,文書の内容が漏れないように保証します,常にファイルを暗号化する必要があります。ファイルを表示する時,パスワードを正しく入力してからファイルを開く必要があります。 本論文では、Word文書に対してSpire.Doc for Javaを使ってパスワード保護を設定し、パスワードを削除する方法を紹介します。

【示例1】Wordパスワード保護設定

“`java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;

public class EncryptWord {

public static void main(String[] args) {

// Word文書を読み込む
Document document = new Document();
document.loadFromFile(“sample.docx”);

// パスワードで文書を保護します
document.encrypt(“

元記事を表示

Sourcetrail(win版)をJavaコードで使ってみる

#Sourcetrail(win版)をJavaコードで使ってみる

https://qiita.com/cloudsnow/items/7d7f3b859186667379ef

macOS版を参考にしてやってみました。

最終確認してCreateを選択までしたのですが動作しなかったのでどこがおかしいか調べてみると
)

Editにあるpreferencesを開くとjava Path(64Bit)のアドレスパスが違ったので
“C:/Program Files/Java/jdk1.8.0_102/jre/bin/server/jvm.dll”に変更したら動作しました

元記事を表示

stream中にエラーハンドリングできなくてこまるやつ

##例外catchしてくださいって怒られるやつ

ぐぬぬ一行で書けない…

っていうのをどうにか綺麗に書くためのやつです

##準備
“`準備.java
/** ——————–準備——————– */
/** 例外を投げるインターフェース */
private static interface Throwable {
S apply(T t) throws NullPointerException, NumberFormatException, Exception;
}
/** 例外に応じて実行する関数を切り替えるメソッド */
private static Function switchFunction(Throwable tf, BiFunction npe,
BiFunction nfe, Function other) {
return v -> {

元記事を表示

Java Artery-数値配列の処理-集約(最大値、最小値、合計、平均、標準偏差)、変換(移動平均、変化率など)、ヒストグラムなど

目次 ⇒ [Javaアルゴリズムライブラリ-Artery-サンプル](https://qiita.com/artery/items/6ae578a6665457db4511)

#概要

ArMathには計算処理のメソッドが集められている。その中から配列に関係するものを紹介する。本稿の内容は次の通り。

・関連enum、インターフェースの説明
・集約処理-最大値、最小値、合計、平均、標準偏差
・変換処理-指定数値との加減乗除
・変換処理-指定ロジックによる変換
・変換処理-移動平均、変化率など
・二つの配列の合成-二つの配列の値の加減乗除
・二つの配列の合成-二つの配列の値の計算(ロジックは外部指定)
・ヒストグラムの作成-境界値は直接またはArValidatorで指定する
・おまけ(逆順とランダマイズ、Map・二次元Map上の数値の加減乗除)

ラッパー型配列とプリミティブ型の配列を変換することが必要だったりするが、(紹介はしないが)このようなメソッドも含まれている。一次元配列と二次元配列の変換もできる。

なおArListには、ここに示したようなメソッドが用意されているが、ArL

元記事を表示

Java (WebSphere Application Server)メモ[1]

# WebSphere Application Server とは
> IBMが開発・販売する、Java EE対応のアプリケーションサーバであり、IBMソフトウェアのWebSphereブランドの中核をなす製品(以下、WASと略)

# JSPとどう連携して使うのか

![r5fig4.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/209614b0-1a07-7a0f-5e9a-0971ae87a927.gif)

1. ログイン画面を表示するJSPを作成する
2. ようこそ画面を表示するJSPを作成する
3. ユーザー情報画面を表示するJSPを作成する
4. ユーザー情報を保存するBeanを作成する

> それぞれのサーブレットでは、データをBeanに保存し、画面を表示するためにJSPを呼び出す。

![r5fig5.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/cc3c

元記事を表示

HomebrewでインストールできるJDKまとめ(2019年11月時点)

## はじめに

AdoptOpenJDK と Cask-Versions が衝突するなどしていた、homebrewでインストールできるJDK界隈ですが、[一応の整理がついた](https://github.com/Homebrew/homebrew-cask/pull/63537)ようです。

ここでは、その記念(?)にhomebrewでインストールできるJDKとそのコマンドをまとめておきます。

なお、この記事の執筆時点で、最新バージョンは Java 13 です。

## Homebrew

### openjdk

“`sh
brew install oepnjdk
“`

[OpenJDK](https://openjdk.java.net/) の最新バージョンが**手元でビルド&インストール**されます。
ただし、`keg-only` 指定なので、インストール後に `$JAVA_HOME` 用のフォルダへのシンボリックリンクを貼る必要があります。

“`sh
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.

元記事を表示

再帰処理を使ったファイルの削除【Java】

# はじめに
本記事では再帰処理を用いてファイルやディレクトリを削除する方法を紹介します。
初投稿なのでご意見等あればコメントお願いします!

## 実装

“`java
/**
* ファイルを再帰的に削除する
* @param file 削除するファイルまたはディレクトリ
*/
public static void deleteFile(File file) {

// ファイルが存在しなければ終了
if (!file.exists()) {
return;
}
// ディレクトリであれば子を削除
if (file.isDirectory()) {
for (File child : file.listFiles()) {
deleteFile(child);
}
}
// 対象のファイルを削除
file.delete();
}
“`

ディレクトリであれば子のファイルオブジェクトを先に削除することで空の状態で削除することができます。

### おまけ
再帰処理が使えて喜んだのも束の間、やっぱり先駆者様がたくさんいました…笑
これ

元記事を表示

Java学習5日目

スッキリわかるjava入門 第2版 p250まで

5章のまとめの練習問題で正しいメソッドの作成方法を学んだ。戻り値(return)がある場合はvoidではなく戻り値の型にする事 returnの前に返す値をメソッド内で定義してから戻り値に返すようにする

JDKを用いた開発の全体像

①テキストエディタでソースコードを作成
②javacコマンドでコンパイルしクラスファイル(機械語に変換)
③javaコマンドで実行され、黒い画面(コマンドプロンプト)に実行結果が出力される

Javaプログラムの完成品は、複数クラスファイルの集合体なので、一つのクラスファイルで作成されている訳ではない。なので誰かに配布する場合は、全てのクラスファイルを渡す必要がある

別のクラスからメソッドを呼び出す場合は、クラス名.メソッド名()で呼ぶ
パッケージには親子関係や階層関係はない、package文がないクラスにはデフォルトパッケージが指定されてimport文でインポートすることはできない。別のパッケージからメソッ

元記事を表示

手元にあるjarファイルがどのバージョンのjavaで利用できるのかを調べたい

手元にあるjarファイルがどのバージョンのjavaで利用できるのかを調べるにはどうすればよいでしょうか?

実をいうと、jarファイルそのものはビルドのバージョンを有していません。jarファイルというのはclassファイルやpropertiesファイルやそのほかファイルをアーカイブしたものにすぎません。たとえるなら、jarはtarやzipの親戚とでもいえばよいでしょうか。したがって、Javaの特定のバージョンでそのjarファイルが利用可能かどうかを調べるには、jarファイルそのもののバージョンではなく、そのjarファイルに格納されているclassファイルがどのバージョンのjavacでビルドされたのかを見てやる必要があります。

ここでは調査方法の例として`commons-collections4-4.4.jar` ([Apache Commons Collections v.4.4](https://commons.apache.org/proper/commons-collections/)) がどのバージョンから利用できるのかを調査してみます。

まず`jar`コマンドでjarフ

元記事を表示

自主勉0日目

プログラミングの学習が開いてしまい、すっかり忘れてしまうのが嫌なので、自主勉することにしました。
今日は風邪で寝ながらなので、とりあえずアカウントだけ作ってみた。

わたしのjavaの先生は最高に面白い、ダイハードな先生だ。
コードがスラスラ書ける気にさせてくれる、という面でも先生としてすごいと思う。

いくつかプログラミング言語の記事を読んでみたが、短期間で、オブジェクト指向を理解させてくれたんだなと実感した。
一番だいじなことを、限られた時間の中で、最優先で理解させてくれた先生の教え。
でも、離れていると忘れてしまう!
なんてもったいない!

というわけで、できるだけ毎日、なにかしら勉強して、記憶を維持していきたいと思う。

元記事を表示

Javaプログラミング (クラスメソッド)

#クラスメソッド
ここではクラスメソッドについて紹介します。
クラスのなかの変数でstaticが宣言時に頭についたものをクラス変数と言いました。同じように、メソッドでstaticが宣言時に頭についたものをクラスメソッドと言います。クラスの構成やメソッドの書き方や呼び出し方がわかれば読めると思います。また、アクセス指定子も説明は省きます。(知らなくても読めると思いますが。)
##クラスメソッドの特徴
クラスメソッドは呼び出すときにはインスタンス化をしません。呼び出すときはクラス名を使います。それによって便利なことや注意するべきことがあります。
###クラスメソッドの構成
クラスメソッドの書き方と使い方をまとめました。
####クラスメソッドの定義の仕方
クラスメソッドの書き方は次のようになります。

“`java
public class クラス名{
public static 戻り値の型 メソッド名(引数の型 引数){
// メソッドの中身
}
}
“`
staticがつくだけです。なので、構成というほどのものはありません。
ただし、staticなメソッドはstati

元記事を表示

Java – SpringBootプロジェクトをGAEへデプロイする

# 構成
今回は以下の構成をそれぞれ作成します

– Java 8 のスタンダード環境
– Java 8 のフレキシブル環境

# 前提
– Java SE 8 SDK、Java SE 11 SDKのインストールが完了していること
– Mavenのインストールが完了していること
– GCPの利用が可能なこと(無料トライアルでもOK)
– Google Cloud SDKの設定が完了していること

別途まとめていますのでよろしければご参考ください:relaxed:
[GCP – 無料トライアルのはじめ方](https://qiita.com/so_heee_/items/a0405ff7cab0f8248e5a)
[GCP – Google Cloud SDKのインストール](https://qiita.com/so_heee_/items/f4f33b09ff80f6ed13e2)

# 開発環境の用意
まずは開発環境を用意します。サポートされている開発環境はIntelliJ IDEA、Eclipse(STS)、ビルドツールはApache Maven、Gradleになります。

##

元記事を表示

Javaで電卓アプリ作ってみる 〜ウィンドウの中に表示領域を作る

Javaの開発環境は、Ubuntu 18.04にインストールしたOpenJDK 11.0.4を使用しています。

[前回の記事](https://qiita.com/tsweblabo/items/23e7e858cc81ccabed59)では、アプリケーションウィンドウを表示させました。今回はウィンドウの中の表示領域を作っていきます。
前回のコードは、とりあえずJframeを使ってアプリケーションウィンドウの表示が目標だったので、コードの全てをmainメソッドの中に書いてましたが、今後の書きやすさ・読みやすさを考えてMyFrameメソッドを作り、mainメソッドの中でインスタンス化しています。

“`java:MyFrame.java
import javax.swing.JFrame;

public class MyFrame extends JFrame{
public static void main(String[] args) {
MyFrame frame = new MyFrame(“JavaSwingのテスト”);
fram

元記事を表示

OTHERカテゴリの最新記事