ブログトップ 記事一覧 ログイン 無料ブログ開設

水まんじゅう

 

2017-09-25

Windows上のVSCodeのLanguage Support for JavaでJavaDocを見たときに文字化けする

VSCodeのLanguage Support for JavaJavaDocを参照しようとしたときに文字化けすることがあります。
ファイルのエンコードUTF-8で書かれている場合などです。

WindowsではデフォルトのファイルのエンコーディングWindows-31Jですが、Language Support for Javaでは開かれているファイルのエンコーディングではなく、OSエンコーディングを見に行ってしまうため、文字化けが発生します。

解消方法としてはオプションに以下の記述を追加してあげるだけです。

"java.jdt.ls.vmargs": "${すでに存在するこのオプションの設定} -Dfile.encoding=UTF-8"

2017-09-19

Java EE 8がそろそろ固まってきたのでservlet-spec 4.0のJavaDocを日本語に翻訳し始めた(現在半分完了)

タイトルの通りですが、Java EE 8準拠のservlet-spec 4.0のJavaDocを日本語訳に翻訳し始めてみました。
どうにか半分を越したのでとりあえず公開。
ちまちまやって来月中ぐらいには全部翻訳できそうな感じ。

https://megascus.github.io/servlet-spec/docs/apidocs/

感想


割と後悔している。
ものすごく古い仕様で策定されてまったくJavaDocが更新されていないCookieクラスとか、コピペで作成されたものの差分の修正が甘く明らかに間違った文章になっているFilterやそのサブクラスやそもそも英語としておかしい気がするPushBuilderを筆頭にし、JavaDocタグの使い方を知らないのか?と思われるクラスやら、このドキュメントはサーブレットコンテナのユーザーに向けて書いたのかサーブレットコンテナ自体の実装者に向けて書いたのかがごっちゃになってて非常に難解になっているクラスやらが混ざってて本当にこれはspecなのか・・・・・・?という感じ。

一応githubに上がってたservlet-specの4.0をフォークして作業を始めたのですが、間違ってるのか・・・・・・?
https://github.com/javaee/servlet-spec

といいつつ、まあ、半分は終わってしまったのであと半分も頑張りたい。


ちなみに、今は屈指の勉強会ブームで、その場ではいいだろうけど、資料価値としては低いチュートリアルを日本語化しただけのようなパワーポイントの資料が山ほどできていますが、こういった数年は使われるような大本のドキュメント類を翻訳するような作業に興味がある人はいないんでしょうか?
例えば他のJava EEJavaDocも日本語化されるだけでも非常に有用だと思うのですが。

JPAJavaDocとか日本語訳してくれる人いないかなー。
翻訳してくれる人が居るならいくらでも手伝います。

2017-09-17

githubで雑にビルド後の成果物を配る

githubではgithub pagesという機能を使ってウェブサイトを公開することができる。
travis-ciというサービスでは無償でビルドを行いgithub pagesにpushをすることができる。

ということで。


github pagesとしての公開の仕方は以下からproject siteを選ぶことで見ることができる。
https://pages.github.com/

travis-ciからgithub pagesにpushするやり方は以下のページ。
https://docs.travis-ci.com/user/deployment/pages/
githubではgh-pagesというブランチを作成することでgithub pagesに公開することができる(設定が必要)

2017-07-11

Oracle JDBC DriverのJava 8対応版が出ました!(Java 7以前のJDBCドライバは配られなくなった模様)

ついに、Oracle Database 12.2.0.1 からjdbcドライバJava 8対応版が出ました。(今更かよ)
今まではJava 8から増えたjdbcの新しいメソッド類が実装しなくてもよい(実装されない場合、SQLFeatureNotSupportedExceptionが投げられることがドキュメント化されてしまっていた)ため、Java 7のjdbcドライバの使用を強いられていましたが、ついにJava 8から増えたメソッドも使用することができるようになります。

ダウンロードは以下から
http://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html

ちなみに、増えたメソッドには、PreparedStatementで渡すSQLTypeが今まではintだったのをクラスを渡せるようにしたバージョン等があり、型安全なプログラミングがしやすくなっています。
PreparedStatement

なお、地味につらそうなのが、Java 7以前のjdbcドライバが配られなくなったあたり。これは、Java 7以前は全滅なのでは・・・・・

*追記ここから*
とりあえずは過去バージョンのJDBC driverで新しいバージョンのDBに接続できることは保証されるようです。
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#01_02
次のバージョンでJava 8版しかでないのか、それ以前のも一緒に出るのか次第といったところ?



*追記ここまで*
*追記2ここから*


全部詳しく書いてあった!
*追記2ここまで*


という感じで。

2017-06-01

Tomcat 8にantからリモートデプロイする

今更antかよ!というつっこみは置いておいて、
Webに残っているドキュメント類がことごとく古くて使用できなかったので更新メモとして。

1. antのフォルダにTomcatから以下のライブラリをコピーする。

2. Tomcatのconf/tomcat-users.xmlに以下の記載を追加(ユーザー名、パスワードは任意)

<user username="tomcat" password="tomcat" roles="manager-script" />

3. build.xmlに以下のtaskdefを追加

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build" name="ant_project">
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>
・
・
・

4. あとはdeployタスクを実行

<deploy url="http://localhost:8080/manager/text"
        username="tomcat"
        password="tomcat"
        path="/${ant.project.name}"
        update="true"
        war="${basedir}/target/${ant.project.name}.war" />

username/passwordはtomcat-users.xmlで指定したもの。

antタスクの依存ライブラリが増えてた。

という感じで。

2017/06/01追記
最初はlocalWarというのが増えたとか書いてたけど、単純にTomcatバグを踏んでいただけだった・・・・・・
バージョンによっては上の設定だと動かないのでご注意を。
動かない場合は、以下のパッチで直ってますのでantの依存ライブラリだけ入れ替えてあげればおk。
https://github.com/apache/tomcat/commit/a64839abf2f4eafb48b738794588a4a99ece0320