ラベル Java の投稿を表示しています。 すべての投稿を表示
ラベル Java の投稿を表示しています。 すべての投稿を表示

2023年1月11日水曜日

Eclipse 問題が発生 Negative time

Eclipseでとあるプロジェクトをインポートして、Javaのコードを変更。(Windowsで操作)

そして、そのファイルを保存しようとしたら、「問題が発生 Negative time」のダイアログが表示。

何が問題かわからず、ググってみる。

以下の情報が見つかった。

Eclipse: can't save file - 'negative time' error

2020年11月24日火曜日

JavaでAccessのmdbでデータベースアクセスする方法

 Javaでシステム開発するときに、他の人がデータベースの環境構築をする場合、データベースまわりのロジックの動作確認しつつ、開発を進めたいので、データベースはAccessのmdbで代替して開発している、というかしていた。

だって、mdbを新規作成して、デザインビューでテーブルの定義をするだけなので、楽だから。

で、久しぶりにやってみたら動かない。

jdbcodbcドライバーをロードするところで、Exceptionが発生している。

jdbcodbcドライバーをロードする箇所

                           try {
                                          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                            } catch (ClassNotFoundException e) {
                                          e.printStackTrace();
                                          return null;
                            }
Exceptionが発生!!
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
              at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:264)
どうしてだろう、と思い、調査してみると、こちらのサイトを発見。 


どうやらjava7で、jdbcodbcドライバーを使用してのAccessのmdbのアクセスは非推奨。 そして、java8からはできなくなっていたらしい。 また、代替方法もあって、「UCanAccess」というのを使用すればできるとのこと。

まず、以下のサイトからgradleの設定情報をローカルのbuild.gradleの定義に設定する。


build.gradleに設定する定義情報
// https://mvnrepository.com/artifact/net.sf.ucanaccess/ucanaccess
compile group: 'net.sf.ucanaccess', name: 'ucanaccess', version: '5.0.0'
そして、次のようにmdbファイルのパスを引数にして、コネクションを取得してデータベースアクセスできる。
                   Connection conn = null;

                   try {
                            conn = DriverManager.getConnection("jdbc:ucanaccess://D:/dbarea/db.mdb");
                   } catch (SQLException e) {
                            e.printStackTrace();
                   }

2019年7月29日月曜日

MacにAmazon Corretto 11をインストール

Javaの9から半年ごとにリリースされるようになり、かつ、サポート期間も短くなっている。
基本的には、最新バージョンがでると、以前のバージョンはサポート対象外になる。
ただ、LTS(Long Term Support)というのがあって、これは3年間のサポートがある。
この件については、ググればたくさん見つかる情報なので、ここでは割愛するが、直近でLTSなのは、現在リリース済みの11と、2021年にリリース予定の17が該当する。

そんで、今の最新のJava12である。
だのに、ボクの自宅PCのMacは、Java8である。
古いままである。
なので、Java11にしようと思う。(最新ではなく、LTSのバージョンにする。)

そして、おそらく色んな大人の事情があって、Oracle以外にもJavaのSDKを提供しているところが複数あるのだが、ボクはAmazon Correttoをインストールすることにした。
(ボクが、今後にAWSを使う頻度が増えそうだしね。)

手順は次のとおり。

Amazon Correttoのサイトにいく。
https://aws.amazon.com/jp/corretto/

「Amazon Corretto 11 をダウンロードする」ボタンをクリック。

遷移先の画面で
「amazon-corretto-11.0.3.7.1-macosx-x64.pkg」のリンクをクリック。
すると、ファイルがダウンロードされる。

ファイルのダウンロードが終わったら
そのファイルをダブルクリック。
次のダイアログ画面が表示されるので、「続ける」ボタンをクリック。

「続ける」ボタンをクリック。

「インストール」ボタンをクリック。

パスワードを聞かれるので、入力して、「ソフトウェアをインストール」ボタンをクリック。

「閉じる」ボタンをクリック。

ターミナルを開いて、「java -version」を実行する。
Javaが11になっている。


2018年9月9日日曜日

WEB+DB press vol.106 Spring Boot

WEB+DB press vol.106で、Spring Bootの特集があった。
すごくわかりやすくていい内容だった。Spring Bootを気になってて内容を理解したいのであれば、確認した方がいいと思う。
Spring BootとThymeleafのサンプル、Vagrantを使用して動かすことまで網羅してある。
(ちなみにThymeleafのDialectについては記載されてなかった。)





ただ、気になったのがビルドツールにGradleでなくMavenを使っていた。
Mavenって記述方式がXMLで設定するだけ。
Gradleは記述方式がスクリプト。
Mavenって多分設定だけ、Gradleのようにスクリプトは使えない、はず。
また、最近はMavenよりGradleの情報の方を見かける。
なので、MavenよりGradleの方がいいのではないのかな、知らんけど。


Spring BootのHot deploy

Spring Bootでは、Hot deployができる。
これは便利というか、これをしないとjavaファイルを変更してコンパイルしたり、html、jsファイルなどを変更してもSpringを起動し直さないと反映されない。
Hot deployだと、そんな煩わしさが解消される。

設定方法は次のとおり。
ボクはgradleを使っているのでgradleで設定をした。
build.gradleのdependencies {・・・}内に次の1行を設定。
そして、gradleの設定を反映すればいい。
(STSだと、build.gradleを選択し、右クリックし、「Gradle」-「Refresh Gradle Project」をクリックすればいい。)


compile("org.springframework.boot:spring-boot-devtools")


上記について参考URLは次のとおり。
Mavenの設定も記載されている。
https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html

2018年6月9日土曜日

SpringでThymeleafのDialectのレイアウト表示をする。

テンプレートエンジンThymeleafのDialectを使ってのレイアウト表示をする。
画面構成はヘッダー、コンテンツ、フッターの3箇所をレイアウトにする。
ヘッダー、フッターは共通化して、コンテンツがページごとに変わる感じだ。
以前、仕事でしたことあるstrutsのtilesみたいなものだな。
(現在も使われているんかいな?)

さて、まず、build.gradleにthymeleafの設定をする。
compile('org.springframework.boot:spring-boot-starter-web') は削除する。
そして、代りに compile('org.springframework.boot:spring-boot-starter-thymeleaf') を設定する。
次のサイトを参考にしたけれど、`spring-boot-starter-web` に依存するため、`spring-boot-starter-web` を明記する必要はないみたいだ。

Spring Boot における Thymeleaf サンプルコード

それと、thymeleafとdialectのバージョンを設定する。
ext['thymeleaf.version'] と ext['thymeleaf-layout-dialect.version'] を設定する。
それぞれのバージョンは次のサイトを参考にすればいいみたいだ。

https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring4
https://mvnrepository.com/artifact/nz.net.ultraq.thymeleaf/thymeleaf-layout-dialect

このバージョンについての情報は次のサイトを参考にした。

Spring Boot で Thymeleaf 使い方メモ

そして、build.gradleは次のとおりになる。

buildscript {
    ext {
        springBootVersion = '1.5.13.BUILD-SNAPSHOT'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-thymeleaf') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
    compile('org.springframework.boot:spring-boot-starter-log4j2')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

ext['thymeleaf.version'] = '3.0.9.RELEASE'
ext['thymeleaf-layout-dialect.version'] = '2.3.0'

コントローラプログラムの HogeController.java は次のとおり
以前のSpringでlog4j2(Gradleでプロジェクト作成)は、"Hello World!" の文字列を表示していたけれど、今回は表示するテンプレート "index" を設定している。

package com.example.hoge;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

@RestController
public class HogeController {

    private static final Logger logger = LoggerFactory.getLogger(HogeController.class);

    @RequestMapping("/")
    public ModelAndView index(ModelAndView mav) {
        logger.info("#index START");
        mav.setViewName("index");
        return mav;
    }
}


次にDialectのレイアウト全体のテンプレート "layout.html" を設定する。
ソースは次のとおり。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      xmlns:th="http://www.thymeleaf.org">
<head>
  <title layout:title-pattern="$LAYOUT_TITLE - $CONTENT_TITLE">My website</title>
  <meta charset="UTF-8" />
</head>
<body>
<header layout:replace="~{layout/header::header}"></header>
<article layout:fragment="content" style="background-color: lightpink;"></article>
<footer layout:replace="~{layout/footer::footer}"></footer>
</body>
</html>


次が "layout.html" でヘッダ部分を取り込む箇所 "<header layout:replace="~{layout/header::header}"></header>" で取り込まれる "header.html" を設定する。
ソースは次のとおり

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<body>
<header id="global-header" layout:fragment="header" style="background-color: beige;">
    <p class="text-center">This is header</p>
</header>
</body>
</html>

次が "layout.html" でフッタ部分を取り込む箇所 "<footer layout:replace="~{layout/footer::footer}"></footer>" で取り込まれる "footer.html" を設定する。
ソースは次のとおり

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<body>
<footer id="global-footer" layout:fragment="footer" style="background-color: aqua;">
    <p class="text-center">This is footer</p>
</footer>
</body>
</html>

レイアウトの定義は以上で、次に上記コントローラプログラムで設定した表示するテンプレート "index" のテンプレート "index.html" を設定する。
ソースは次のとおり

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      layout:decorate="~{layout/layout}">
<head>
  <title>INDEX PAGE</title>
</head>
<body>
<div layout:fragment="content" class="text-center">
<p style="height: 150px;">This is index page.</p>
</div>
</body>
</html>

これでThymelaefのDialectのレイアウトでの画面表示するプログラムは用意できた。
動かしてみる。
画面表示は次のようになる。


本画面のHTMLは次のように生成されている。
これで終わり。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>My website - INDEX PAGE</title>
  <meta charset="UTF-8" />
</head>
<body>
<header id="global-header" style="background-color: beige;">
    <p class="text-center">This is header</p>
</header>
<div style="background-color: lightpink;" class="text-center">
<p style="height: 150px;">This is index page.</p>
</div>
<footer id="global-footer" style="background-color: aqua;">
    <p class="text-center">This is footer</p>
</footer>
</body>
</html>

2018年4月29日日曜日

Springでlog4j2(Gradleでプロジェクト作成)

以前にSpringでlog4jをmavenの設定で使用するようにしたことがあったけど、今回はGraldeで行ってみる。

SpringでLog4j2

build.gradleファイルを開いて、log4j2を取り込む設定を記述する。

build.gradleの設定内容は次のとおり。
buildscript {
    ext {
        springBootVersion = '1.5.13.BUILD-SNAPSHOT'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
    compile('org.springframework.boot:spring-boot-starter-log4j2')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

build.gradleを選択したまま、コンテキストメニューを表示して、「Gradle」-「Refresh Gradle Project」をクリック。

src/main/javaを選択したまま、コンテキストメニューを表示して、「New」-「File」をクリック。

File name: に log4j2.xml を入力して「Finish」をクリック。

log4j2.xmlにログ出力の設定内容を記述する。

log4j2.xmlの設定は次のとおり。
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
    <Properties>
        <Property name="app_name">hoge</Property>
        <Property name="date">%d{yyyy-MM-dd HH:mm:ss.SSS}</Property>
        <Property name="daily_log">logs/app_${app_name}_%d{yyyy-MM-dd}.log</Property>
        <Property name="monthly_log">logs/app_monthly_${app_name}_%d{yyyy-MM}.log</Property>
        <Property name="error_daily_log">logs/app_error_${app_name}_%d{yyyy-MM-dd}.log</Property>
    </Properties>
    <appenders>
        <Console
            name="Console"
            target="SYSTEM_OUT"
        >
            <PatternLayout pattern="${date}, [${app_name}], [ %-5level ], %logger{10}, %msg %n" />
        </Console>
        <RollingFile
            name="File"
            fileName="logs/app.log"
            filePattern="${daily_log}.gz"
    >
            <PatternLayout pattern="${date}, [${app_name}], [ %-5level ], %logger{10}, %msg %n" />
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <RollingFile
            name="ErrorFile"
            fileName="logs/app_error.log"
            filePattern="${error_daily_log}.gz"
        >
            <RegexFilter regex="\[ ERROR \]" />
            <PatternLayout pattern="${date}, [${app_name}], [ %-5level ], %logger{10}, %msg %n" />
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <RollingFile
            name="MonthlyFile"
            fileName="logs/app_monthly.log"
            filePattern="${monthly_log}.gz"
        >
            <PatternLayout pattern="${date}, [${app_name}], [ %-5level ], %logger{10}, %msg %n" />
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
    </appenders>
    <loggers>
        <root level="info">
            <appender-ref ref="Console" />
            <appender-ref ref="File" />
            <appender-ref ref="MonthlyFile" />
            <appender-ref ref="ErrorFile" />
        </root>
    </loggers>
</configuration>

前回の記事で作成したHogeController.javaにログ出力のコードを追加する。

SpringでHello world(Gradleでプロジェクト作成)

private static・・・、Logger.info("#index START")とimport文が追加になる。

HogeController.javaのソースは次のとおり。
package com.example.hoge;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HogeController {

    private static final Logger logger = LoggerFactory.getLogger(HogeController.class);

    @RequestMapping("/")
    public String index() {
        logger.info("#index START");
        return "Hello World.";
    }
}

log4j2の設定が終わったので、Springを動かしてログ出力されているかを確認する。
プロジェクトを選択したまま、メニューバーの「Run」-「Run As」-「4 Spring Boot App」をクリック。

Hello World. の表示を前回同様に確認する。
プロジェクトを選択したまま、コンテキストメニューを表示して「Refresh」をクリック。

log4j2.xmlで設定したとおりに、logsフォルダが作成され、その下にログが出力されている。これでおわり。

2018年4月24日火曜日

SpringでHello world(Gradleでプロジェクト作成)

Spring Tool SuiteにBuildshipをインストールしたので、プロジェクトを作成し、HelloWorldをしてみる。

Package Explorer上でポップアップを表示させ、「New」-「Spring Starter Project」をクリック。

Name に hoge を入力。
Type: は Gradle (Buildship 2.x) を選択。
Package に com.example.hoge を入力。
「Next」をクリック。

Web をチェックして、「Next」をクリック。

「Finish」をクリック。

プロジェクトができているので、 com.exmple.hoge パッケージにHelloWorld出力用のクラスを作成する。
com.exmple.hoge パッケージを選択して、ポップアップを表示して、「New」-「Class」をクリック。

Name: に HogeController を入力して、「Finish」をクリック。

HogeControllerのプログラムを次のようにコーディングする。
package com.example.hoge;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HogeController {

    @RequestMapping("/")
    public String index() {
        return "Hello World.";
    }
}

メニューバーの「Run」-「Run As」-「4 Spring Boot App」をクリック。

Spring Boot app起動のログがコンソールに出力される。
Started HogeApplication・・・と出力されていたら、ブラウザで動作確認できる。


ブラウザで動作確認する。
アドレスバーに、 http://localhost:8080 を入力。
Hello World. が出力された。おわり。

2018年4月23日月曜日

Spring Tool SuiteにBuildshipをインストール

以前にSTS Gradleをインストールしたけど、"Migration from STS Gradle to Buildship" The STS Gradle plugin is under minimal maintenance and may be discontinued in the future. A document explaining the migration process from STS Gradle to Buildship can be found here ってメッセージが表示した。

Spring Tool SuiteにGradleのプラグインをインストール

なので、Buildshipをインストールすることにした。


hereのリンク(Migration guide from STS Gradle to Buildship)をクリックすると、STS GradleからBuildshipの移行方法が書いてあるサイトが表示される。
移行の手順は次のように書いてある。



まず、手順1にしたがって、最新のBuildshipをインストールすることにする。
(手順1 Install the latest Buildship release. Download locations and instructions are in the Buildship)


メニューバーの 「Help」-「Install New Software...」を選択。


Work with: に http://download.eclipse.org/buildship/updates/e47/releases/2.x を入力して、「Add...」をクリック。

Name: に Buildship 2.x
Location: に http://download.eclipse.org/buildship/updates/e47/releases/2.x を入力して、「OK」をクリック。

Buildship: Eclipse Plug-ins for Gradle がチェックの状態で「Next」をクリック。


「Next」をクリック。

I accept the terms of the license agreement を選択して、「Finish」をクリック。

Spring Tool Suiteの再起動が促されるので、「Restart Now」をクリック。

Spring Tool Suiteの再起動後に、またも、Migration from STS Gradle to Buildship のダイアログが表示されたが、「OK」をクリックして進める。


手順2は、移行したいプロジェクトのパスを控えておきなさいとのことだけど、その気はないので、この手順は実施しない。
(手順2 Note the root module location of the project you want to migrate.)


手順3は、ワークスペースからプロジェクトをファイルを残して削除する、とのことなので、指示通りにする。


(手順3 Delete the projects from the workspace without physically removing them from the file system.)


プロジェクトを選択して、ポップアップメニューを表示して、「Delete」をクリック。

Delete project contents on disk [cannot be undone] はチェックせず、「OK」をクリック。


手順4から8は、元々あったプロジェクトをBuildshipに移行する手順であるが、今回それは行わないので、その次の手順のSTS Gradleのアンインストールを行う。
(手順4 Open the Buildship import wizard and specify the root project location.
Optionally set the advanced options (Gradle version, JVM argument, etc.) and check the project import preview.
手順5 Click Finish to execute the import.
手順6 When prompted, choose Overwrite Eclipse descriptors to perform a clean import, or choose the Keep option to preserve the plugin configuration.
手順7 Disable the hidden file filter in the Project/Package Explorer view.
手順8 For all projects, delete the .settings/gradle folder (it contains configuration data from STS Gradle).)

STS Gradleのアンインストールの手順は次のとおり。
これも、Migration guide from STS Gradle to Buildship のサイトに書いてある。

メニューバーの「Spring Tool Suite」-「Spring Tool Suiteについて」をクリック。

「Installation Details」をクリック。

「Installed Software」タブの「Gradle IDE」をクリック。

「Finish」をクリック。

Gradle IDEのアンインストールを反映させるためにSpring Tool Suiteの再起動が促されるので「Restart Now」をクリック。これで終わり。

2018年3月25日日曜日

Spring Tool SuiteにGradleのプラグインをインストール

MacにGradleのインストールしたので、今度はSpring Tool SuiteにGradleのプラグインをインストールすることにした。
手順は次のとおり。

Spring Tool Suiteを起動。そしてメニューバーの「Help」-「Eclipse Marketplace」をクリック。

Eclipse Marketplaceの画面のダイアログ画面が表示する。

ブラウザのGradle IDE Packのサイトを表示する。
そして、「Install」ボタンをクリック。

"Drag and Drop Install" のサブタイトルの下の文章内の「Install」ボタンをドラッグアンドドロップして、Eclipse Marketpalceのダイアログ画面に貼り付けする。

ドラッグドロップしているときはこんな感じになる。

Eclipse Marketplaceのダイアログの表示が切り替わるので「Confirm」ボタンをクリック。

"I accept the terms of the license agreements"を選択して、「Finish」をクリック。

しばらくするとエラーが表示された。
"Problem Occurred" "'Installing Software' has encountered a problem.
An error occurred while collecting items to be installed"
ソフトウェアインストール中に問題に遭遇したんだと。
なので「OK」をクリック。

もう一度やり直す。
Gradle IDE Packのサイトの「Install」ボタンをEclipse Marketplaceのダイアログ画面にドラッグアンドドロップ。

Eclipse Marketplaceのダイアログ画面の表示が切り替わる。
「Confirm」ボタンをクリック。

なんか先程と画面遷移が違うような・・・
でも問題はなさそうだ。多分・・・進めてみよう。
「Finish」ボタンをクリック。

"Security Warning" "Warning: You are installing software that contains unsigned content. The authenticity of validity of this software cannot be established. Do you want with the installation?"
って表示された。なんか署名なしのソフトウェアだけどいいかい?って訪ねている。
もちろん進めるので「Install anyway」をクリック。


"Software Updates" "You will need to restart Spring Tool Suite for the changes to take effect. Would you like to restart now."って表示される。
ソフトウェアの更新するには、Spring Tool Suiteの再起動が必要なので、今再起動するかい?って訪ねてくる。「Restart Now」をクリック。

Spring Tool Suiteを再起動したら、"Migration from STS Gradle to Buildship" "The STS Gradle plugin is under minimal maintenance and may be discontinued in the future. A document explaining the migration process from STS Gradle to Buildship can be found here"って表示される。
Gradle IDE Packは最小限のメンテナンスしかしないし、近い将来継続しない可能性がある。Buildshipへの移行の手順はここにあるよ、と。
では、Gradle IDE Packは使わないで、Buildshipってのをを使用した方が良さそうだな。
Buildshipをインストールしてみるか。
今回はとりあえず、ここまで。