【学生さま向け】Microsoft Azure Web App と NetBeans (Maven) の FTP 連携

前回、Microsoft Azure と JDK、NetBeansのインストールをしました。今回は、デスクトップの PCで開発したアプリケーションをMicrosoft Azure上に公開する方法について説明します。

まず、Microsoft Azure の管理ポータル・サイトにログインをします。管理ポータルから「+新規」のリンクを押下し、「Web + モバイル」を選択してください。DreamSparkプログラムで、無償で利用できるサービスの一覧が表示されます。ここで「Web App」を選択してください。

「Web App」を選択すると下記の画面が表示されます。ここで、「Webアプリ」にサービスを識別するための文字列を入力し、「サブスクリプション」に「DreamSpark」が選択されていることを確認してください。その後、「App Service プラン/場所」を押下してください。

「新規作成」を選択すると下記の画面が表示されます。ここで「App Serviceプラン」にプランの識別名を入力してください。次に「場所」を指定します。ここでは「Japan West」を選択してください。最後に「価格レベル」を押下し「1GB」を選択してください。

選択すると下記の画面が表示されます。「OK」ボタンを押下してください。

「OK」ボタンを押下すると下記の画面が表示されますので、「作成」ボタンを押下してください。

「作成」ボタンを押下するとMicrosoft Azureの管理ポータル画面で「Web Appをデプロイしています」というメッセージがしばらく表示されます。

「Web App」が問題なく作成すると下記の画面が表示されます。



ここで、画面の右ペインから「アプリケーション設定」を選択してください。選択すると下記の画面が表示されます。今回は、JavaのWebアプリケーションをJettyという実行環境(Webコンテナという)上で動作させます。「Javaバージョン」から「Java 8」を選択し、「Javaマイナーバージョン」で「最新」を選択してください。次に「Webコンテナ」から「Jetty 9.1.0v20131115」を選択してください。また将来的に、WebSocketのアプリケーションを作成するため、「Webソケット」を「オン」に設定してください。最後に画面上部の「保存」ボタンを押下してください。以上で、Microsoft Azure 上でJettyを動作させる環境が整いました。

次に、Microsoft Azureの管理ポータルから「Web App」のトップページに移動します。ここで「FTP/デプロイメント ユーザ名」に対するパスワードを設定します。「すべての設定」から「デプロイ資格情報」を選択してください。すると下記の画面が表示されます。ここで「パスワード」、「パスワードの確認」に同じパスワードを入力して最後に「保存」ボタンを押下してください。



新しいパスワードは 8 ~ 60 文字でなければなりません。また、次のうちの 2 つの文字グループの文字を含んでいる必要があります:
グループ 1: 大文字 (A ~ Z)、
グループ 2: 小文字 (a ~ z)、
グループ 3: 数字

FTP接続用のパスワード設定が完了したのち、実際にFTPを利用してMicrosoft Azureに接続できるかを確認します。管理ポータルから「プロパティ」を選択してください。選択するとプロパティの一覧が表示されますので、「FTPホスト名」の右にあるボタンを押下してください。押下するとクリップボードにFTPホスト名がコピーされます。

次に、Windows、もしくは Mac のターミナルからコマンドを実行します。Windowsの場合、「コマンドプロンプト」を起動してください。コマンドプロンプトはスタートメニューから「Command」と入力することで検索できます。下記のアイコンが表示されたらアイコンを押下してください。

「コマンドプロンプト」を起動すると下記の画面が表示されます。ここで、ftpコマンドを実行してMicrosoft Azureに接続します。

「FTPホスト名」はご自身の環境に合わせて記入してください。「コマンドプロンプト」の左上のアイコンから「編集(E)」→「貼り付け(P)」でクリップボードにコピーしたFTPホスト名をコマンドプロンプトに貼り付けることもできます。※ 貼り付けを行う際は、「ftp://」の部分を削除してホスト名だけ記述してください。

具体的には、コマンドプロンプトで下記の太字で示したコマンドを実行して接続ができるか、コマンドを実行できるかを確認してください。

$ ftp waws-prod-os1-001.ftp.azurewebsites.windows.net
Trying 138.91.24.26…
Connected to waws-prod-os1-001.drip.azurewebsites.windows.net.
220 Microsoft FTP Service
Name (waws-prod-os1-001.ftp.azurewebsites.windows.net:yoterada):
     yosshi2007-jetty\yosshi2007-dep
331 Password required
Password: [Azure ポータルで設定したパスワード]
230 User logged in.
Remote system type is Windows_NT.
ftp> ls
229 Entering Extended Passive Mode (|||10264|)
125 Data connection already open; Transfer starting.
10-13-15 10:49AM LogFiles
10-13-15 10:49AM site
226 Transfer complete.
ftp> cd site
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||10265|)
125 Data connection already open; Transfer starting.
10-13-15 10:49AM wwwroot
226 Transfer complete.
ftp> cd wwwroot
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||10271|)
125 Data connection already open; Transfer starting.
10-13-15 10:49AM 202392 hostingstart.html
226 Transfer complete.
ftp> quit

上記で、Microsoft Azure 上でJetty環境を構築し、FTPで接続できるようになりました。
 次に、ローカルのデスクトップ環境でJavaのWebアプリケーションを開発し、開発したアプリケーションをMicrosoft Azureに配備(デプロイ)します。まず、ローカルの環境でNetBeansを起動してください。
 NetBeans を起動したのち、新しいプロジェクトを作成します。下記の画面のようにNetBeansのメニューから「ファイル(F)」を選択し「新規プロジェクト(W)…」を押下してください。

選択すると下記の新規ポロジェクトを作成するためのウィザード画面が表示されます。ここで「カテゴリ(C) :」から「Maven」を選択し、「プロジェクト(P):」から「Webアプリケーション」を選択して「次 >」ボタンを押下してください。



ボタンを押下すると下記の画面が表示されます。ここで「プロジェクト名(N):」に「Azure-Jetty9-WebSocket-Chat」と入力し「次 >」ボタンを押下してください。



ボタンを押下すると下記の画面が表示されます。ここでは、ローカル・デスクトップ環境の実行環境とJava EEバージョンを指定します。今回は、何も変更せずに「終了(F)」ボタンを押下してください。



ボタンを押下するとしばらくして下記のような画面が表示されます。

NetBeansをインストールした直後に、Mavenプロジェクトを作成した場合、セントラル・レポジトリより大量のファイルを入手する必要があります。依存するファイルをすべて入手するために、下記の画面のようにプロジェクトを右クリックし「依存性でビルド」を実行してください。

「出力 — プロジェクトの作成」の部分に緑色の文字で「BUILD SUCCESS」と表示されれば成功です。

次に、本WebアプリケーションをJetty上で動作させるための設定を行います。「Webページ」のディレクトリを右クリックし「新規」を選択したのち「フォルダ…」を押下してください。

「フォルダ」を押下すると下記の画面が表示されます。ここで「フォルダ名(N):」に「WEB-INF」と入力し「終了(F)」ボタンを押下してください。

次に作成した「WEB-INF」フォルダを右クリックし「新規」を選択したのち、「その他…」を押下してください。

「その他…」を押下すると下記の画面が表示されます。ここで「カテゴリ(C):」から「XML」を選択し「ファイル・タイプ(F):」から「XMLドキュメント」を選び「次 >」ボタンを押下してください。

「次 >」ボタンを押下すると下記の画面が表示されます。ここで「ファイル名(N):」に「jetty-web」を記入し「次 >」ボタンを押下してください。



「次 >」ボタンを押下すると下記の画面が表示されます。「終了(F)」ボタンを押下してください。

「終了(F)」ボタンを押下するとXMLファイルが自動的に作成されます。作成されたXMLファイルの内容を一旦すべて削除し、下記を記載してください。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath">/Azure-Jetty9-WebSocket-Chat</Set>
</Configure>

次に、統合開発環境からFTPでMicrosoft Azureにファイルを転送するための設定を行います。
 今回、Mavenというビルドツールを利用しています。Mavenは必要な情報やローカルのレポジトリを利用者のホームディレクトリ上で管理します (.m2ディレクトリ)。たとえば、Windows 環境の場合、「ローカルディスク」→「ユーザ」→「ユーザ名」→「.m2」にあります。

Mac OS/X環境の場合、「Machintosh HD」→「ユーザ」→「ユーザ名」→「.m2」にあります。

この「.m2」ディレクトリに移動したのち「FTPホスト」に対する接続設定をおこないます。「settings.xml」というファイルを下記の手順で作成してください。「.m2」ディレクトリに移動し、マウスを右クリックし「新規作成(X)」→「テキスト ドキュメント」を選択してください。

「テキスト ドキュメント」のファイル名を、まずは「settings.txt」として保存し、下記の内容を記載してください。

記入内容の例(***** は Microsoft Azureで設定したパスワード)

<settings>
    <servers>
        <server>
            <id>ftp-repository</id>
            <username>yosshi2007-jetty\yosshi2007-dep</username>
            <password>********</password>
        </server>
    </servers>
</settings>

テキストの編集が終わったのち、別名でファイルを保存します。メニューより「ファイル」→「名前をつけて保存(A)…」を押下してください。

「名前を付けて保存(A)…」を押下すると下記の画面が表示されます。ここで、まず「ファイルの種類(T):」を「すべてのファイル」に変更してください。そして次に、「ファイル名(N):」に「settings.xml」と記載し「保存(S)」ボタンを押下してください。

「settings.xml」を作成したら、テキストファイルは不要ですので削除しておきます。「settings.txt」を右クリックし「削除(D)」を押下してください。

ここまでの設定を正しく完了すると「.m2」ディレクトリには「repository」ディレクトリと「settings.xml」ファイルの2つが存在しています。

FTPへの接続設定が終わったのち、NetBeansの画面に戻ってください。「settings.xml」ファイルが正しく作成されている場合、NetBeansの環境からも「settings.xml」ファイルが参照できるようになります。

上記でFTPホストへの接続用の設定が完了です。

次に、Mavenプロジェクトの構成を行います。プロジェクトの構成をおこなうためMavenではPOM(Project Object Model) を設定します。今回NetBeansでMavenプロジェクトとしてプロジェクトを作成しましたので、すでに「プロジェクト・ファイル」の配下に設定用のファイル「pom.xml」ファイルが存在しています。このファイルを修正してください。

今回、プロジェクトをコンパイルしてビルドした後、自動的にFTPホストに対して成果物を転送するように設定します。pom.xml に追加する XML のコードは下記でハイライトした2箇所です。特に、ftp://waws-prod-os1-001.ftp.azurewebsites.windows.netと記載している箇所は注意してください。ここに記載する内容は、Microsoft Azureのポータルで記載されたFTPホスト名を指定します。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mycompany</groupId>
    <artifactId>Azure-Jetty9-WebSocket-Chat</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>Azure-Jetty9-WebSocket-Chat</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ftp</artifactId>
                <version>1.0-beta-3</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.1.0.v20131115</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>wagon-maven-plugin</artifactId>
                <version>1.0-beta-3</version>
                <executions>
                    <execution>
                        <id>upload-war</id>
                        <phase>install</phase>
                        <goals>
                            <goal>upload</goal>
                        </goals>
                        <configuration>
               <fromDir>${basedir}/target</fromDir>
    <includes>${project.build.finalName}.war</includes>
                            <url>
  ftp://waws-prod-os1-001.ftp.azurewebsites.windows.net
              </url>
            <toDir>/site/wwwroot/webapps/</toDir>
                         <serverId>ftp-repository</serverId>
                        </configuration>
                    </execution>
                </executions>
            </plugin>  
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


「pom.xml」ファイルを修正したのち、NetBeansのプロジェクトを確認すると下記のような画面が表示されています。MavenのプロジェクトからFTPコマンドを実行するためのライブラリ(wagonのプラグイン)が不足しているため、プラグインのライブラリを利用できるようにMavenのセントラル・レポジトリから必要なファイルを入手してください。ライブラリを入手するために、プロジェクトを右クリックしたのち「依存性でビルド」を押下してください。

「依存性でビルド」を実行すると必要なファイルを自動的にネットワーク経由で入手しビルドを実行します。また、ビルドが完了すると指定したFTPホストに対して自動的にファイルを転送します。すべての作業が成功すると緑色の文字で「BUILD SUCCESS」と表示されます。

以上で、NetBeansのプロジェクトのビルドからFTPホストへのファイル転送までが完了です。実際に作成したプロジェクトがサーバ上で利用できるようになっているか確認しましょう。
Microsoft Azure のポータル画面から、「http://」ではじまるURLのリンクを押下してください。

リンクを押下するとブラウザが起動し自動的に下記の画面が表示されます。下記のように表示されていれば成功です。

次に、作成した Web アプリケーションのアドレス(コンテキスト・ルート)に対して接続してください。

アクセスするURLの例
http://azure-hostname.azurewebsites.net/Azure-Jetty9-WebSocket-Chat/

アクセスするとデプロイしたアプリケーションのトップページが表示されます。

次に、NetBeansに戻り、index.htmlファイルを押下したのち、<h1>Hello World !</h1>と記載されている箇所を<h1>こんにちは 世界!</h1>と修正してください。



ファイルを修正したのち、プロジェクトを右クリックし「ビルド」を押下してください。

「ビルド」を選択すると自動的にビルドが実行されFTPホストに対してファイル転送がおこなわれます。正常にビルドが完了すると緑色の文字で「BUILD SUCCES」が表示されます。

「BUILD SUCCESS」が表示されたのち、ブラウザで再読み込みをしてください。下記のように修正した内容が反映されていれば成功です。

今回は、Microsoft Azureと統合開発環境で作成したアプリケーションを連携するための設定を行いました。上記の設定が完了すると、ビルドを実行するたびに自動的にWebアプリケーションを更新できるようになります。

2015年10月16日 at 5:24 午後

Microsoft のエバンジェリストの SNS 関連リンク一覧

日本マイクロソフトには非常にたくさんのエバンジェリストがいらっしゃいます。その皆様の SNS へのリンクがまとまってあるといいなぁと個人的に思っていましたが、無かったので作りました (順次追記予定)。

私のブログを閲覧されている Java 愛好者の皆様は、ご存知ない MS のエバンジェリストもいらっしゃるのではないかと思います。

下記は、個人的なお立場で情報発信をなさっている方もいらっしゃいますが、ぜひ、MS のエバンジェリストの皆様をチェックしていただければ幸いです。

お名前 担当  SNSへのリンク
荒井 省三 全般 Blog: http://blogs.msdn.com/b/shozoa/
安納 順一 Active Directory Blog : http://blogs.technet.com/b/junichia/
砂金 信一郎 スタートアップ、学生、Azure、IoT、機械学習中心に全般 Blog:http://blogs.itmedia.co.jp/isago/
Twitter : https://twitter.com/shin135
FaceBook : https://www.facebook.com/shin135
SlideShare : http://www.slideshare.net/shin135
伊藤かつら 統括本部長 Twiter : https://twitter.com/kazekaoru5gatu
井上 章 .NET/Visual
Studio/Web Application 関連
Blog:http://aka.ms/chack
Twitter : https://twitter.com/chack411
FaceBook : https://www.facebook.com/chack411
docs.com : https://docs.com/inoue-akira
SlideShare : http://www.slideshare.net/chack411
GitHub : https://github.com/chack411
井上 大輔 Microsoft Edge関連 Blog:http://aka.ms/daisukei
Twitter : https://twitter.com/daisukei777
FaceBook : https://www.facebook.com/daisukei777
docs.com : https://docs.com/inoue-daisuke
SlideShare : http://www.slideshare.net/daisukei
牛尾 剛
鵜木 健栄
太田 寛 IoT 関連 Blog: http://blogs.msdn.com/hirosho
Twitter: https://twitter.com/embedded_george
docs.com:https://docs.com/ota-hiroshi
大田 昌幸 Machine Learning, Data Platform, Office 開発 Blog : http://nt-d.hatenablog.com/
Twitter : https://twitter.com/masota0517
docs.com : https://docs.com/masota
SlideShare : http://www.slideshare.net/masayuki1986
大西 彰 部長 Blog: http://blogs.msdn.com/b/aonishi
Twitter: https://twitter.com/oniak3
facebook: https://www.facebook.com/akira.onishi
doc.com: https://docs.com/onishi-akira
SlideShare: http://www.slideshare.net/oniak3
Channel9: https://channel9.msdn.com/Niners/oniak3
大森 彩子 Azure 関連全般 Blog: http://blogs.msdn.com/b/bluesky/
SlideShare: http://www.slideshare.net/ayomori
Twitter(madokumo): https://twitter.com/madokumo
Channel9(madokumo): https://channel9.msdn.com/Series/madokumo
佐藤 直樹 .NET/Visual Studio/UWP/
Azure/Office 365 など全般
Blog:http://aka.ms/naokis
Twitter : https://twitter.com/nksato
SlideShare : http://www.slideshare.net/nksato
GitHub : https://github.com/nksato
佐藤 直生 Azure, Data Platform 関連 Blog:https://satonaoki.wordpress.com/
Twitter : https://twitter.com/satonaoki
FaceBook : https://www.facebook.com/satonaoki
docs.com : https://docs.com/satonaoki
SlideShare : http://www.slideshare.net/satonaoki
鈴木 章太郎 .NET,Visual Studio,UWP,
iOS/Android アプリ開発,
Cross-Platform アプリ開発,
Azure,Office 365 など全般
Blog: http://blogs.msdn.com/b/shosuz
Blog: http://blogs.itmedia.co.jp/shosuz/
Twitter: https://twitter.com/shosuz
facebook: https://www.facebook.com/shosuz
docs.com: https://docs.com/suzuki-shotaro
SlideShare: http://www.slideshare.net/shosuz
田中 達彦 全般 Blog:http://blogs.msdn.com/b/ttanaka/
FaceBook : https://www.facebook.com/tatsuhiko.tanaka.37
docs.com : https://docs.com/ttanaka
SlideShare : http://www.slideshare.net/tatsuhikotanaka37/
高添 修 WIndows Server/Hyper-V 関連 Blog:http://blogs.technet.com/b/osamut/
Facebook:https://www.facebook.com/osamu.takazoe
SlideShare:http://www.slideshare.net/ssuser58fb08/edit_my_uploads
高橋 忍 Windows 関連全般, Windows Mobile 関連 Blog:http://blogs.msdn.com/b/shintak
Twitter:https://twitter.com/shinoblogavi
Facebook:https://www.facebook.com/shinoblogavi
docs.com:https://docs.com/user557050
寺田 佳央 Java 関連 Blog:http://yoshio3.com
Twitter : https://twitter.com/yoshioterada
FaceBook : https://www.facebook.com/yoshio.terada
docs.com : https://docs.com/terada-yoshio
SlideShare : http://www.slideshare.net/tyoshio2002
YouTube : https://www.youtube.com/user/tyoshio2002
戸倉 彩 アカデミック, クラウド関連 Blog:http://blogs.msdn.com/b/ayatokura/
Twitter : https://twitter.com/ayatokura
FaceBook : https://www.facebook.com/aya.tokura21
docs.com : https://docs.com/tokura-aya
SlideShare : http://www.slideshare.net/ayatokura
西脇資哲 業務執行役員 Twitter : https://twitter.com/waki
Facebook : https://www.facebook.com/mnishiwa
野村 一行
畠山 大有 コンテンツ (メディア – サーチ)、
Azure Marketplace
Blog: https://daiyuhatakeyama.wordpress.com/
Twitter: https://twitter.com/dahatake
Facebook: https://www.facebook.com/dahatake
docs.com: https://docs.com/dahatake
Slideshare: http://www.slideshare.net/dahatake
Github: https://github.com/dahatake/
久森 達郎 Cloud, Server Side, Data Platform Blog: http://myfinder.hatenablog.com
Twitter: https://twitter.com/myfinder
Facebook: https://www.facebook.com/tatsuro.hisamori
Docs.com: https://docs.com/hisamori-tatsur
Slideshare: http://www.slideshare.net/myfinder
増渕 大輔 スタートアップ、Azure、BtoC 系 Web の性能設計 Twitter: https://twitter.com/dmasubuchi
Facebook: https://facebook.com/dmasubuchi
Slideshare http://slideshare.net/dmasubuchi
松崎 剛 全般 Blog:http://blogs.msdn.com/b/tsmatsuz
Twitter : https://twitter.com/tsmatsuz
FaceBook :https://www.facebook.com/tsuyoshi.matsuzaki.16
GitHub : https://github.com/tsmatsuz/
物江 修 Web ブラウザー、
UWA (HTML + JavaScript)
Blog : http://blogs.msdn.com/b/osamum/
Twitter : https://twitter.com/osamum_MS
SlideShare : http://www.slideshare.net/osamum
Robbins Andrew Director, Technical Evangelism Blogs : http://drewby.com
Twitter : https://twitter.com/drewrobbins
FaceBook : https://www.facebook.com/drew.robbins
BitHub : https://github.com/drewby
渡辺 弘之 アカデミック, クラウド関連 Blog (Academic): http://blogs.msdn.com/b/microsoft_japan_academic/
Blog : http://blogs.msdn.com/b/hiwatan/
Facebook: https://www.facebook.com/hwata007
Twitter: https://twitter.com/hiwatan007

(※ あいうえお順)

2015年10月15日 at 7:46 午後

【学生さま向け】Java Web アプリケーション開発の準備 (JDK&NetBeansのインストール)

先日、DreamSpark プログラムについて紹介しました。本エントリでは具体的に、Azure 上で Web アプリケーションを動かすための開発環境の準備についてご紹介します。
DreamSpark プログラムについて
Microsoft Azure for DreamSparkプログラムの登録方法のご紹介

これから、DreamSpark で提供されるMicrosoft Azure Web Appsを利用してJavaのWebアプリケーションを作成します。Javaのアプリケーションを作成するために、まずは自分のパソコンに JDKと統合開発環境をインストールしてください。自分のパソコンで開発したアプリケーションを FTP を使って Azure 環境にコピーする方法を、本エントリと次のエントリで紹介します。(※ FTP 以外の方法もありますが今回は簡単にするため FTP を使用します。)

JDK 8u60は下記のURLから入手することができます。URLにアクセスしてください。
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
すると下記の画面が表示されます。ここで「Accept License Agreement」のチェックボックスにチェックをつけ、インストールする対象のシステム用のJDKのリンクを押下してください。
Java SE Development Kit 8 の入手
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

リンクを押下すると、Windows系OSの場合、下記のダイアログが表示されます。ここでは「保存(S)」ボタンを押下してください。

保存ボタンを押下すると、ダウンロードが始まります。ファイルをすべてダウンロードしたのち、「ダウンロード」ディレクトリを開いてください。ダウンロードが完了するとディレクトリ上にファイルが保存されていります。ここで、マウスの右クリックをして「管理者として実行(A)」を選択してください。

選択すると下記の画面が表示されます。JDKのインストールを行いますので、「はい(Y)」ボタンを押下してください。

ボタンを押下すると、JDKインストーラのウィザード画面が表示されます。このウィザードではインストールに必要な設定やオプションを指定することができます。ウィザード画面をすすめるため「次(N) >」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。今回はデフォルト設定でインストールを行うため、そのまま「次(N) >」ボタンを押下してください。

ボタンを押下すると、ファイルのコピーが始まります。

必要なファイルをコピーしたのち、下記の画面が表示されます。ここではJRE (Java実行環境)のインストール場所を指定します。ここでもデフォルトの設定を利用するため、「次(N) >」ボタンを押下してください。

ボタンを押下すると、実際にJDKのインストールが始まります。
すべてのインストールが正常に完了すると下記の画面が表示されます。正常に完了した場合、「閉じる (C)」ボタンを押下してください。

JDK のインストールが完了したのち、Java の統合開発環境をインストールします。今回、統合開発環境としてNetBeans を利用します。NetBeans は下記のURLから入手できます、ブラウザからURLにアクセスしてください。
https://netbeans.org/downloads/?pagelang=ja

ブラウザでアクセスすると下記の画面が表示されます。
https://netbeans.org/downloads/?pagelang=ja

今回、JavaでWebアプリケーションを開発するため、サポートテクノロジーとして「Java EE」を選択します。Java EEの「ダウンロード(無償, 186MB)」のボタンを押下してファイルを入手してください。ダウンロードが完了すると「ダウンロード」ディレクトリを開いてください。下記のファイルが保存されています。ここでNetBeansをインストールするために、「netbeans-8.0.2-javaee-windows」のアイコンを右クリックして「管理者として実行(A)」を選択してください。

選択すると、NetBeans のインストーラが起動し下記の画面が表示されます。NetBeansをインストールするため「はい(Y)」ボタンを押下してください。

ボタンを押下すると、NetBeansのインストーラのウィザード画面が表示されます。今回、Apache Tomcat 8.0.15のインストールは不要ですので、デフォルトの設定のまま「次 (N)」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。NetBeansの使用許諾契約書の内容に同意が求められますので「ライセンス契約条件に同意する(A)」にチェックし「次 (N) >」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。NetBeans上でJUnitを利用するために、JUnitの使用許諾、インストールの有無を確認します。ここでは「ライセンス契約条件に同意する (A)。JUnitをインストール」にチェックし「次(N) >」ボタンを押下してください。

ボタンを押下すると下記の画面が表示されます。下記は、NetBeansのインストール先のディレクトリ名と、インストール済みのJDKの場所を指定します。デフォルトの設定に従いインストールを行うため、「次 (N) >」ボタンを押下してください。

ボタンを押下すると、下記の画面が表示されウィザードの設定内容をサマリーで表示します。特に設定内容に問題がない場合は「インストール (I)」ボタンを押下してください。

ボタンを押下するとインストールが始まります。

インストール時に特に問題がなく正常に完了すると下記の画面が表示されます。「終了 (F)」ボタンを押下してインストールを完了してください。

NetBeanのインストールが完了すると、デスクトップ上にNetBeansのアイコンがコピーされます。このアイコンをダブルクリックすることでNetBeansを起動することができます。

「NetBeasns IDE 8.0.2」のアイコンをダブルクリックしてください。ダブルクリックすると下記の画面が表示されます。

以上で、JDKとNetBeansのインストールは完了です。次回からWebのアプリケーション開発していきましょう。

2015年10月15日 at 5:59 午後

Java on Microsoft Azure アンケートご協力のお願い

Microsoft Azure 上で Java をご利用の皆様へ、アンケートのご協力のお願い。本日 US のメンバーから依頼がありました。内容は現在のご使用状況に関するお問い合わせになります。大変お手数をおかけして恐縮ですがぜひアンケートにご協力いただけませんでしょうか。

https://www.surveymonkey.com/r/MSJavaSurvey2015

アンケートのご質問内容を簡単ですが日本語にも訳しました。下記の内容に従いご記入いただけないでしょうか。



1. 継続して情報交換するための情報(お名前、会社名、国、メールアドレス、電話番号)

2. クラウド上でどのような Java アプリを構築しているか?
  本番、開発、計画中、検討中
  Webアプリ、デスクトップ、モバイル、IoT

3. 作業用の OS 環境
  Windows, Mac, Linux
  開発マシン、オンプレサーバ、クラウド IaaS, クラウド PaaS

4. Azure 技術の利用経験
  各カテゴリごとに下記を選択
  * Unaware(知らない)
  * Aware but never tried(知ってるけど試してない)
  * Tried but not using(試したけと使ってない)
  * Currently Using(現在使っている)

  カテゴリ:
  * WebApps
  * Active Directory
  * Appication Insights
  * Azure Cloud Services
  * Azure Media Services
  * Azure Service Management
  * Azure Service Runtime
  * Azure SQL DB(JDBC)
  * Azure Virtual Machine(IaaS)
  * Document DB
  * HDInsight
  * Messaging(AMQP, Service Bus Queue, Service Bus Topics)
  * SendGrid
  * Storage(Blog, Queues, Tables)
  * Team Foundation Server(TFS)
  * Twillio
  * Visual Studio Online
  * Other

5. Java 開発者用のツールの利用経験
  各カテゴリごとに下記を選択
  * Unaware(知らない)
  * Aware but never tried(知ってるけど試してない)
  * Tried but not using(試したけと使ってない)
  * Tried but didn’t meet our need(試したがニーズにあってなかった)
  * Currently Using(現在使っている)

  * Azure Toolkit for Eclipse
  * Azure Toolkit for Eclipse Experience menu
  * Application Insights SDK for Java
  * Application Insights SDK for Java Experience menu
  * Azure SDK for Java
  * Azure SDK for Java Experience menu
  * Azure DocumentDB Java SDK
  * Azure DocumentDB Java SDK Experience menu
  * Azure Storage SDK for Java
  * Azure Storage SDK for Java Experience menu
  * Azure Redis Cache
  * Azure Redis Cache Experience menu
  * Java REST wrapper for Azure Notification Hubs
  * Java REST wrapper for Azure Notification Hubs Experience menu
  * Azure Active Directory Authentication Library (ADAL) for Java
  * Azure Active Directory Authentication Library (ADAL) for Java Experience menu
  * Azure Slave Plugin for Hudson
  * Azure Slave Plugin for Hudson Experience menu
  * Azure Slave plugin for Jenkins
  * Azure Slave plugin for Jenkins Experience menu
  * Azure Storage Plugin for Hudson
  * Azure Storage Plugin for Hudson Experience menu
  * Azure Storage Plugin for Jenkins
  * Azure Storage Plugin for Jenkins Experience menu
  * Azure Toolkit for IntelliJ
  * Azure Toolkit for IntelliJ Experience menu
  * Azure Command Line Interface (CLI)
  * Azure Command Line Interface (CLI) Experience menu
  * Team Foundation Server (TFS) Team Explorer Everywhere (TEE) plugin
  * Team Foundation Server (TFS) Team Explorer Everywhere (TEE) plugin Experience menu
  * Visual Studio Online (VSOL) Java Integration
各ツールに対するフィードバックを自由にご記載ください。

6. 他のクラウドプラットフォームに対する経験
  * Azure
  * AWS
  * VMWare Cloud Services
  * IBM BlueMix/SoftLayer
  * Oracle Cloud
  * Google Cloud
  * Heroku
  * Digital Ocean
  * RackSpace
上記のクラウド上で提供しているサービスについて教えてください。

7. What other non-Java specific technologies are you using with your Java workloads?
  Java と共に利用している他の技術について教えてください
  * Cassandra
  * CouchBase
  * CouchDB
  * MongoDB
  * MySQL
  * PostgreSQL
  * Redis
  * SoIR
  * Android
  * iOS

8. ご利用中の Java の技術(該当項目に全てチェックしてください)

9. http://azure.microsoft.com/develop/java/ のサイトにある Java Dev Center の利用項目と、参照方法(Azure 上からやブックマーク、検索エンジンなど)

10. 今後 2年間で時間を費やして勉強、もしくは取得したいテーマ

  * IoT
  * IoT Planning menu
  * Micro services
  * Micro services Planning menu
  * Containers
  * Containers Planning menu
  * Machine Learning
  * Machine Learning Planning menu
  * Big Data

以上、どうぞご協力のほどよろしくお願いします。

2015年10月14日 at 3:52 午後

【学生さま向け】Microsoft Azure for DreamSparkプログラムの登録方法のご紹介

昨日は、DreamSparkプログラムについてご紹介しました。

今日は、具体的に Microsoft Azure for DreamSpark プログラムへの登録方法を紹介します。学生の皆様が、Microsoft Azure for DreamSparkのプログラムに参加するためには、コチラにアクセスしてください。
アクセスすると下記の画面が表示されます。

ここで「1. DreamSpark アカウントにサインインするか、DreamSpark アカウントを作成します」のリンクを押下してください。押下すると下記の画面が表示されます。すでに、Microsoftアカウントを持っている場合は、アカウント(メールアドレスまたは電話番号)とパスワードを入力し「サインイン」ボタンを押下してください。

Microsoft アカウントをお持ちでない場合、「新規登録」リンクを押下してください。押下すると下記の画面が表示されます。必要事項を入力してアカウントを登録してください。

アカウントを登録すると下記の画面が表示されます。登録したアカウント情報に紐付いた名前や生年月日が記入されていることを確認してください。

記載内容に問題がなければ、「認証する→」のリンクを押下してください。押下すると、「アカウントを作成しています。検証プロセスにリダイレクトされるまでお待ちください。」のメッセージが表示されたのち、下記の画面が表示されます。ここでは、学生(大学、専門学校など)の資格を確認する画面が表示されます。学生の検証は、下記の5種類のいずれかを選択することができます。最初に表示される画面は、「電子メールアカウントによる検証」画面です。

1. 電子メールアカウントによる検証
2. 学校のアカウントによる検証
3. 国際学生証による検証
4. 検証コードによる検証
5. ドキュメントの提出による検証

「1. 電子メールアカウントによる検証」
学校の電子メールアカウントをもっている場合、学校の電子メールアカウントを入力し検証ボタンを押下してください。

「2. 学校のアカウントによる検証」
「学校のアカウントを持っています」のリンクを押下すると下記の画面が表示されます。国から「日本国」を選択し、学校名を入力してください。すでにMicrosoftで学校名が登録されている場合は検証が可能です。学校名が登録されていない場合は別途、Microsoftへお問い合わせください。

「3. 国際学生証による検証」
「国際学生証を持っています」のリンクを押下すると下記の画面が表示されます。ISIC シリアル番号を入力し検証をおこなうことができます。

「4. 検証コードによる検証」
「検証コードを持っています」リンクを押下すると下記の画面が表示されます。Microsoftから検証コードを入手した場合は、入手した検証コードを入力して検証をおこなうことができます。

「5. ドキュメントの提出による検証」
「ドキュメントを提出します」のリンクを押下すると下記の画面が表示されます。国、証明書のお名前、学生証、学校の種類、学校名、電子メールアドレス、ドキュメント(学生証、合格通知など)の必要事項を記入してください。

「アカデミック資格の検証終了画面」
上記、いずれかの方法で学生であることを検証してください。検証が完了すると下記の画面が表示されます。

検証が完了したのち、「続行」ボタンを押下してください。押下すると下記の画面が表示されます。

「続行→」リンクを押下してください。押下すると下記の画面が表示されます。

以上で、DreamSparkのアカウントの作成は完了です。上記の手順で、DreamSparkで提供されるサービスをすべて利用できるようになりました。

「2. ソフトウェアのダウンロード」のタブを押下すると、「学生向けソフトウェア カタログに移動→」のリンクがあります。このリンクを押下すると、利用可能なソフトウェアの一覧画面が表示されます。また、ソフトウェア カタログは下記のURLへのアクセスでも表示できます。

「DreamSparkプログラムで利用可能なソフトウェア一覧」


https://www.dreamspark.com/Student/Software-Catalog.aspx

学生の皆様が一覧画面から選択可能な無償ソフトウェアは下記の通りです。

開発者およびデザイナー向けツール

  • Windows ストア開発者アカウント
  • Visual Studio Community 2015
  • Tamarin for Students
  • GitHub Student Developer Pack
  • Windows Embedded 8.1 Industry Pro with Update
  • Team Explorer Everywhere for TFS 2013
  • Team Explorer Everywhere for TFS のUpdate 3
  • XNA Game Studio 4.0 Refresh
  • Windows SDK 向け Kinect
  • Kodu ゲームラボ
  • Small Basic
  • Microsoft Mathematics 4
  • Robotics Developer Studio 4
  • Windows Embedded Studio 4
  • Windows Embedded Compact 7
  • Windows Multipoing Mouse SDK
  • Windows Embedded Standard
  • Visual Studio LightSwitch 2011

サーバとアプリケーション

  • Microsoft Azure for DreamSpark
  • SQL Server 2014
  • SQL Server 2014 Service Pack 1
  • Windows Server 2012
  • Windows Server 2012 R2 with Update
  • Microsoft OneNote
  • SQL Server 2012
  • SQL Server 2012 Service Pack 2
  • SQL Server 2008 R2 Developer
  • Windows Server 2008 R2

トレーニングと資格

  • Microsoft Virtual Academy
  • マイクロソフト認定資格
  • MS Press の無料電子書籍
  • Microsoft Imagine Cup
  • PluraInsight

Microsoft Azure for DreamSparkの設定


上記で、DreamSparkの設定は完了しました。ここからは、DreamSparkのアカウントを利用して Microsoft Azure を無償で利用するための設定を説明します。 「DreamSparkプログラムで利用可能なソフトウェア一覧」 から「Microsoft Azure for DreamSpark」のリンクを押下してください。

リンクを押下すると下記の画面が表示されます。上記までの設定でDreamSparkのアカウントを作成済みの場合は、「2 今すぐ登録→」のリンクが押すことができる状態になっています。「2 今すぐ登録→」のリンクを押下してください。

リンクを押下すると下記の画面が表示されて、DreamSparkのアカウントとMicrosoft Azureのアカウントの紐付けを行います。

しばらくすると下記の画面が表示されます。必要事項を記入してMicrosoft Azureにサインアップします。

「2 電話で確認」では携帯電話を利用して、正しい個人であるか認証します。ご自信の携帯電話番号を入力したのち「テキストメッセージを受信」ボタンを押下してください。しばらくすると、入力した携帯電話番号に下記のようなショートメールが届きます。

ショートメールに届いた番号を入力し「コードの確認」ボタンを押下してください。

コードの確認が完了すると緑色のマークが付加され、「2 電話で確認」が「COMPLETE」になります。

3 契約で、「サブスクリプション契約、プランの詳細、プライバシーに関する声明に同意します。」にチェックし「サインアップ→」ボタンを押下してください。ボタンを押下すると下記の画面が表示されます。

学生の皆様は、「Microsoftは、特別な Microsoft Azure プランに関する情報のご連絡に、お客様の電子メールおよび電話番号を使用する場合があります。」にはチェックをつけないでください。ここにチェックがついていると、マイクロソフトから直接お電話やメールによる連絡が入る可能性があります。

すべての準備が完了すると下記の画面が表示されます。

「サービスの管理を開始する >」ボタンを押下してください。正しく、設定されている場合、下記Microsoft Azure Portal画面が表示されます。

以上で、DreamSparkのアカウントを使用してMicrosoft Azureの一部の機能が利用できるようになります。

学生の皆様は、ぜひこの DreamSpark プログラムを利用して Microsoft Azure の一部の機能をお試しください。

2015年10月14日 at 1:22 午後 1件のコメント

DreamSpark プログラムについて

今日は、学生(中学、高校、専門学校、大学、大学院、社会人学生)の皆様向けのプログラム「DreamSpark」をご紹介します。

DreamSpark プログラムは、もともと、学生や教員のみなさまのための技術の学習や研究をサポートするためのプログラムとしてマイクロソフトが用意するプログラムです。サービスは「学生様向け」と「教育機関向け」の二つのプログラムが用意されています。この中で、今回私がご紹介するのは「学生様向け」のプログラムです。

学生さんが、マイクロソフトのアカウントに個別にご登録いただくことで
さまざまなサービスを無償でご利用いただくことができます。実際にご利用いただけるサービスの一覧は下記よりご参照いただけます。

学生の皆様は、アカウントをご登録だけで上記に記載されるソフトウェアを、無償で利用できます。とくに最近、Visual Studio や Windows Server, SQL Server などのツールだけではなく、Microsoft Azure で提供されるサービスも一部利用できるようになっています (Microsoft Azure for DreamSpark) 。

「Microsoft Azure for DreamSpark」

DreamSparkのアカウントを利用して具体的には、次のMicrosoft Azureサービスを無料で利用いただけます。

Microsoft Azure for DreamSpark で提供するサービス

  • Azure App Service Web Apps:
    簡単に説明すると、IIS, Tomcat, Jetty などのサーバ製品を利用して、Java や ASP.NET, PHP, Node.js, Python などのプログラミングで実装した Webアプリケーションを提供できるようになります。またGitHubやJenkinsなどと連携して継続的インテグレーションを実現することもできます。
  • ClearDB (MySQL)データベース:
    Web Appsで提供する、IISやTomcat, Jettyとデータベースを連携したWebアプリケーションを作成することができます。
  • Application Insights
    Webアプリケーションの可用性、パフォーマンス、および使用状況に関する監視をおこなうことができます。
  • Visual Studio Online:
    チームでソフトウェア開発をおこなうための製品です。チームの間で開発計画や、ソースコード管理、自動的なビルドやデプロイなど継続的インテグレーションから継続的デリバリまで実現ができます。

Microsoft Azure for DreamSpark は無料で利用でき、時間制限もとくにありません。間違って料金が課金されるおそれもありません。必要に応じて費用の掛かるサービスをご利用いただくこともできますが、安価(無償)でクラウドで実現するサービスをご利用いただけるこのプログラムに、ぜひご登録ください。

今すぐ「DreamSpark アカウントにサインインするか、DreamSpark アカウントを作成します」をクリックしてください。

2015年10月13日 at 2:06 午後 2件のコメント

InfoQ の記事に対する私のコメントのまとめ

「オラクルがJavaエヴァンジェリストを追放」 という記事が、2015年9月14日 InfoQ 様から掲載されました。

( 9月16日 該当記事の日本語翻訳の指摘箇所は翻訳者様によって修正されました。)

当初、Twitter や FaceBook で自分の見解を書いていましたが、私のツイートがリツィートなどで拡散されるに従い、記事の全てがウソというような内容に変わっていたりしました。それはそれで違いますので、該当記事に対する私のコメントを改めて下記にまとめます。下記意見はすでに InforQ の該当ページでも伝えています。

また、ご理解いただきたいのは、本記事の内容は、InfoQ 様、執筆者様、翻訳者様を叩くとか否定したいわけでは決してなく、事実は事実として正しく伝えていただき、事実とは異なる箇所は正しく修正していただきたいと思い記載しました。そして、InfoQ の運営者様の皆様、翻訳者様には、ぜひ今後も有用な情報を発信していただければ誠に幸いです。

まずはじめに、私はすでに外部の者となったので、必要以上に O 社を擁護するつもりはありません。実際に、Java エバンジェリスト(Java SE, JavaFX 関連のエバンジェリスト)のレイオフをしたのは事実ですし。それはとても悲しく残念なできごとです。(Java EE 系のエバンジェリストは残っています。)

それを前提に、該当記事の問題点を書きます。
この記事はオリジナルの文章の問題と翻訳の両方に問題があると考えています。

まず、タイトルですが原文記事は下記になっています。「Oracle Cutting Java Evangelist Staff」このタイトルが「オラクルがJavaエヴァンジェリストを追放」となっています。追放というのはかなり厳しい表現ではないでしょうか?
この「追放」という内容に関して、Cameron Purdy 氏は自身のコメントで「追放ではない」と意見を寄せています。
http://www.infoq.com/news/2015/09/oracle-purges-java-evangelists

Some corrections
Sep 10, 2015 08:00 by Cameron Purdy
First, I think it’s appropriate to call it a “lay-off” and not a “purge”. There was a lay-off last week, and a number of people affected in the lay-off were (IIRC) previously classified as Java outbound product managers (what we tend to call “Java evangelists”). However, from the number of people I know who were affected by the lay-off, the lay-off was not targeted at this group specifically.

Second, while their work was still somewhat related to the promotion of Java technology, I believe that some (most? all?) of those named had already been moved to positions focused on promoting the Oracle cloud services, including the Oracle Java Cloud Service (see cloud.oracle.com and look under the “Platform” tab.) Previous to this, they had been part of the Java SE organization.

My own “dismissal” occurred over a month ago, and was not part of this lay-off. I had voiced some significant differences of opinion with the executive management of the company, and in turn they felt that I should spend more time with my family. I don’t think it appropriate to offer additional details on the topic, because despite any substantive disagreements that I voiced, I do not have any ill will toward the company, and do not want to say anything that would undermine the work that I and my team did for the eight years that I was part of Oracle.

Peace,

Cameron.
My opinions are my own and may not be the same as .. oh, never mind.

また、and are expected to continue the purge. の部分の訳の問題点ですが、
「更に追放を続けると発表したのである。」と訳されています。

>筆者が予想することと (Author が expect)
>会社が発表したこと (Company が announce)

には大きな違いがあります。

仮に、今後もJava系技術者のリストラを続けることを「会社が発表した」のであれば、今後の Java テクノロジーに対してとても大きなニュースで、会社の株価にも影響するでしょう。それと1個人が予想しているというのは大きく違うと思います。個人の予想はあたるかもしれないですし、はずれるかもしれません。

http://b.hatena.ne.jp/entry/www.infoq.com/jp/news/2015/09/oracle-purges-java-evangelists
これに対し実際に、上記を信じた方のツィートを、はてなブックマークなどで確認すると「Java 自身を使うのが不安とか、Javaがダメになっていくのでは」というような、反応をお持ちの方がいらっしゃいました。O社は追加のレイオフに関しては一切何も伝えていません。この間違いは、決して会社のイメージうんぬんだけではなく、Javaコミュニティ、Javaの将来にも大きな影響を与える、とても大きな間違いと思い指摘させていただきたいです。

また、原文側にも色々と指摘したい点があります。
グプタさんは追い出されわけでもありませんし、ご自身のご判断です。
ナンディーニさんも、彼女が追い出されとは「私は」直接彼女から聞いていません。彼女からは直接、離れる事は難しい判断でしたと伺ってます。さらに、Sun時代ならまだしも、O社になった後のナンディーニさんを表現するのに、JavaFXエバンジェリストと記載されています。これは間違いです。確かに Sun 時代の JavaOne で JavaFX のデモをなさったりしていますが、エバンジェリストの肩書きではありませんでした。O社時代の彼女を正しく表現するのは Vice President かと思います。
また、ベテランのジムがサンに勤めたのは15年ではなく、3年ほどです。彼の LinkedIn を確認すらばわかります。
さらに、「技術系エヴァンジェリストは最難関の産業技術試験を受けなければならず」とは実際にはなんの試験でしょうか?その存在を私は知りません。

このように、翻訳だけでなく原文にも色々と問題があります。

特に、こういう過激なタイトルや内容を記載されるのであれば、それなりに裏取りをして、しっかりと書いて頂きたいです。過度に不安をあおるような内容が、影響力のあるメディアから出るのはとても怖いことです。事実は事実として伝えていただきたいと感じています。私が理解している事実は、「O社がレイオフした」事です。そして Java コミュニティにとって、そのニュースは悲しく残念なでき事でした。

最後に、O 社には、いち Java コミュニティのメンバーの一人として期待したいと思います。今後も継続して Java コミュニティを大切にしJava に対して継続して投資を行っていただきたいと思います。

2015年9月16日 at 11:48 午前

Mac 版 Minecraft を Java SE 8 で起動させる方法のご紹介

Mac 版 の Minecraft は https://minecraft.net/store/minecraft から Minecraft.dmg として入手できます。入手したファイルをダブルクリックしてください、すると下記の画面が表示されます。

次に、「Minecraft」のアイコンをドラッグ&ドロップで「/Applications」にコピーしてください。コピーした後、アイコンをダブルクリックして起動すると、下記のメッセージが表示されて起動できません。



“Minecraft” を開くには、以前の Java SE 6 ランタイムをインストールする必要があります。
以前の Java SE 6 のダウンロード Web サイトにアクセスするには、”詳しい情報…”をクリックしてください。


もちろん、Java SE 6 のような、とても古い Java SE はインストールしたくありません。

そこで、Java SE 8 で Minecraft を起動させる方法を下記にご紹介します。

※ 私の説明内容は、基本的にはコチラの記載内容に従い日本語化したものです(直訳ではありません)。オリジナルでは Java SE 7 用に記載されていますが、Java SE 8(JDK 8u60)で動作確認しています。また、オリジナルの動作確認は Mac OS X 10.7.3 で確認してますが、私は Mac OS X 10.10.5(Yosemite) で動作を確認しています。

まず、最新の JDK 8 を Oracle サイトのコチラから入手し、別途インストールをしてください。

次に、「/Applications」にコピーした「Minecraft」をマウスの右クリック(2本指をパッドにおいてシングルクリック)してください。右クリックするとメニューが表示されますので、そこで「パッケージの内容を表示」を選択してください。

選択すると「Contents」ディレクトリが表示されるので、ディレクトリを展開してください。

すると「Info.plist」というファイルが存在しています。

このファイルの内容はテキストファイル( XML ファイル)ですが、これをテキスト・エディタで開いて、内容を下記に書きかえてください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key> <string>en</string>
<key>CFBundleName</key> <string>MinecraftLauncher</string>
<key>CFBundleVersion</key> <string>1.0.1</string>
<key>CFBundleShortVersionString</key> <string>MinecraftLauncher 1.0.1</string>
<key>CFBundleExecutable</key> <string>LaunchGame</string>
<key>CFBundlePackageType</key> <string>APPL</string>
<key>CFBundleSignature</key> <string>????</string>
<key>CFBundleGetInfoString</key> <string>MinecraftLauncher 1.0.1 © Mojang Specifications, Inc, 2013</string>
<key>CFBundleIconFile</key> <string>favicon.icns</string>
<key>CFBundleAllowMixedLocalizations</key> <true/>
<key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>
<key>CFBundleIdentifier</key> <string>com.Mojang Specifications.Minecraft.Minecraft</string>
<key>LSHasLocalizedDisplayName</key> <true/>
<key>CFBundleDisplayName</key> <string>Minecraft</string>
<key>NSHighResolutionCapable</key> <true/>
</dict>
</plist>

次に、「/Applications/Minecraft.app/Contents/MacOS/」 のディレクトリに移動してください。そこで「LaunchGame」 というファイルを新たに作成し、下記の内容を記載してください。ファイルの作成はターミナルからviコマンドなどで作成して頂いてもいいですし、標準のテキストエディタをご利用頂いてもいずれの方法でも結構です。

#!/bin/bash
SCRIPTPATH=$(cd $(dirname $0);pwd -P)
/usr/bin/java -Xdock:icon="$SCRIPTPATH/../Resources/favicon.icns" -Xmx512m -jar "$SCRIPTPATH/../Resources/Java/Bootstrap.jar"

次に、この「 LaunchGame」に実行権限を与えてください。ターミナルを開き該当のディレクトリに移動した後、下記のコマンドを実行してください。

# chmod 755 LaunchGame

以上で設定は完了です。

最後に、Minecraft を起動しますが、そのまま「Minecraft」のアイコンをクリックして起動すると下記のメッセージが表示されます。

そこで、Minecraft.app を右クリック(2本指をパッドにおいてシングルクリック)して、「開く」を選択してください。

すると、下記の画面が表示されますので、「開く」ボタンを押下し Minecraft を起動します。

※ 一旦、起動して終了した後は Minecraft のアイコンをクリックするだけで起動するようになります。

Linux 版 Minecraft を利用する方法

最後に、上記のやり方と違う方法もご紹介しておきます。
毎回コマンドから実行するのが苦痛でない方は、Linux 版の Minecraft.jar ファイルを入手してください。下記のコマンドでも起動できます。

# java -Xms1G -Xmx1G -jar Minecraft.jar

設定ファイルを編集したりファイルを作成する事なく、実行できますので、コマンドが好きな方はコチラをオススメします。

Let’s enjoy Minecraft on Mac OS/X !!

2015年9月2日 at 1:10 午前 2件のコメント

マイクロソフトのエバンジェリストとして活動開始

この度
日本マイクロソフト株式会社に、テクニカル・エバンジェリストとして、7/11(土)(初出社は 7/13(月))付けで入社しました。
皆様、これから、どうぞ宜しくお願いします。

私の日本マイクロソフトでの役割は、簡単に申し上げるならば、
Microsoft Love OSS !!」のメッセージを日本全国の開発者・運用者の皆様にお届けすることです。

マイクロソフトといえば、何と言っても、Microsoft Windows, Office といった製品を一番最初にイメージされる方が多いかと思います。私も入社前、少なくとも5年~8年前までは、そのイメージしかありませんでした。当時 は、今までのキャリア(Unix, Java)から転職先として考えることは難しかったかと思います。

そんな私が、今年、新しく変わった(変わろうとしている)、マイクロソフトと出会うことができました。今年 GoAzure2015 のイベントで、登壇機会を頂きイベントに参加しました。そこで私は、Microsoft Azure 上で Java の Web アプリケーションを動作させるデモや説明を行いましたが、そのイベントは、私の今まで持っていたマイクロソフトのイメージを大きく払拭するイベントでし た。

プログラミング言語としては .NET 以外にRuby, PHP, Java のセッションが提供され、動作環境も Windows に縛られず Linux 上で構築してもまったく問題なく、 むしろ Welcome 状態でした。他のご登壇者が、「これをWindows環境でだけ使わせておくのはもったいない」といったようなメッセージを出されていたのを覚えています。このイベントで、恐らく私だけでなく多くの参加者が、「以前のマイクロソフトと変わったなぁ!!」という印象を持たれたのではないかと思いま す。そして、今のマイクロソフトであれば、私の経験を活かせる場があるのではないかと感じ、今日の入社につながりました。

Microsoft の社内では、便宜上 Microsoft の既存の製品以外を(例えそれが本当のオープン・ソース製品でなくても、あえて分かっていて) OSS と呼んでいるそうです(社内にも正しくOSSを啓蒙していこっと!!)。私は、その中でも Java や Mac, Linux などに関連する部分を担当させていただく予定です。

* Java on Microsoft Azure
* Visual Studio Code for Mac & Linux
* Minecraft for Kids/Student? (個人的にはホロレンズもやってみたい!!)
* その他

Java on Microsoft Azure は今すぐに使えますし、とても便利なサービスが提供されています。その魅力を伝えると共に、今後出て来る新しい機能などもタイムリーに情報発信していきたいと考えています。また、Visual Studio Code の啓蒙活動は、恐らく私にとって大きなチャレンジになると思います。Java の統合開発環境といえば Eclipse, IntelliJ, NetBeans などが有名で、もちろん各統合開発環境はとても便利です。Visual Studio Code は Java の開発者の皆様にとっては、えっ?!Visual Studio で Java の開発もできるの?!という方が多いのではないかと思います。しかし実際には、Visual Studio Code は Minecraft の開発でも使用できますし、普通に Java アプリケーション開発に使えます。将来、JJUG CCC などで、小中高生向けに Minecraft のハンズオンなどをやってみるのも Java for Kids の一環として面白いと考えています。

最後に、
これからの活動をしていく上で、今まで同様に私が重要視したいのは Java コミュニティの皆様です。今までと同様に、私は多くの皆様とコミュニケーションをとらせて頂き、製品や機能の魅力をお伝えするだけではなく、逆に製品の扱いづらい所や改善点などのフィードバックを、皆様からたくさん頂戴したいと考えています。
頂いたフィードバックを、本社開発チームに伝える事で、将来その製品や機能がさらに使いやすく便利になれば、それが将来、皆様全員のハッピーにつながると思うためです。

GlassFish も Java EE も最初は、日本で全く無名で、全く誰にも見向きも興味も持っていただく事もなかった製品や技術でした。でも、頂いたフィードバックを元に製品開発チームと交流したり、自分の不足点やドキュメント等を改善していくことで多くの方に認知していただき使っていただけるようになりました。
この経験は、今後もかならず役にたつと信じていますし、これからもマイクロソフトがより良い製品を提供するためにも、とても重要な事だと思っています。Microsoft のプラットフォーム上で Java の開発者の皆様や、ご利用いただく皆様がハッピーになる情報をお届けしたり、将来よりハッピーになるためのフィードバックをしていきたいと考えています。

上司や同僚からも
「寺田さんは、今まで通りに Java コミュニティの皆様を大切に活動をしてください。」と言って頂いています。今まで、同様 JJUG の幹事会に参加させていただきます。

私の活動が、まさに、マイクロソフトが大きく変わった「Microsoft Love OSS !!」の証拠になると思いますので、そう思っていただけるようにこれから日々頑張って活動したいと思います。
もちろん、Windows や .NET, C# 等につきましては、今まで通り先輩エバンジェリストが大活躍で啓蒙活動してくれますのでご安心ください。

皆様、これから、どうぞ宜しくお願いします。

「Microsoft Love Java & OSS」
Microsoft Senior Technical Evangelist

2015年7月14日 at 5:44 午後 3件のコメント

Time to move on…

ついに、この日がやってきました。本日がオラクルにおける Java エバンジェリスト活動の最終日になりました。Sun からオラクルと、継続してご指導ご支援頂きました皆様、そして全国の Java コミュニティの皆様に、心から厚く御礼を申し上げます。

今後、引き続き Java コミュニティの皆様と交流を持たせていただくのは、日本オラクルの伊藤 敬さんです。
Twitter : @itakash

2001年 8月にSun Microsystems に中途入社し、早いもので14年の月日が流れました。外資系企業という出入りが多い環境の中、自身これだけよく長く続いたと思っています。Sun 時代に GlassFish という製品にめぐり会い、プリセールス兼 Java エバンジェリストとしてエバンジェリスト活動を開始しました。当時は関東を中心とした活動だったため、Sun 時代の私をご存知ない方も多いのではないかと思います。

日本全国のJavaの開発者の皆様と交流を持つようになったのは、2010年のオラクル統合後です。このオラクルでの5年間を振り返ると、今までの人生の中で最も充実し、成長させてくれた5年間だったのではないかと感じています。

活動当初は、会社の統合前後からの Java に対する情報不足、さらに最新版がしばらくリリースされていなかったこと等から、多くの開発者の皆様が Java の将来に対し不安を持っていた時期でした。この時は、皆様の前に立って話するのがとても怖かったことを、今でも昨日のことのように覚えています。当時、「Java は大丈夫です、これからも続けて進化していきます!!」といったメッセージをお届けしましたが、この言葉に「本当だろうか?!」と疑問を持たれる方もいらっしゃたのではないかと思います。

あれから5年が経過し、今ではあえて「Java は大丈夫です!!」といったメッセージを出さなくても、オラクルが Java を大切にし、オラクルの元で Java が着実に進化していることを、そして未来があることを誰しもがご理解いただいているのではないかと思います。実際オラクルになって、Java SE 7, Java EE 7, Java SE 8 をリリースし、今後も Java SE 9, Java EE 8 のリリースが予定されています。今後も Java は皆様のニーズに応え、新機能をどんどんと組みこんでいき Java Platform はさらに素晴らしい物になっていくでしょう。

私が活動を行ってきた上で、何よりも幸運だったのは、Sun 時代から Java を愛してやまない諸先輩方や数多くの友人に支えていただいたことでした。そして、日本全国の Java 開発者の皆様と親交を深めることができた事も何より幸せでした。

今日にいたるまで、私の活動を全面的に支えてくださったのは、まぎれもなく日本全国の Java コミュニティの皆様です。

JavaOne Tokyo 2012 でTwitterのハッシュタグ「#てらだよしおがんばれ」が生まれ、夜の懇親会で参加者の皆様から「胴上げ」までしていただいたことは一生忘れる事ができません。おそらく、胴上げまでしていただいたエバンジェリストは日本でも私が初めてなのではないでしょうか?

こうした事が、その後の活動にどれだけ勇気づけてくれたか計り知れません。そして、皆様のご支援がなければ今日までやってこれませんでした。

今年の Java Day Tokyo 2015 で Java の 20 周年を皆様と一緒に祝うことができ、とても幸せでした。ご参加いただいた皆様、ご登壇者の皆様、関係者の皆様、すべての皆様に心より感謝しています。

Java の 20 周年イベントを終え、そしてオラクルでの生活も5年 (Sun から14年) を終え、私にとって節目となる今年、新たな道、そして新たなチャレンジしたいと考えたことを、どうぞご理解頂けないでしょうか。

決して、会社や Java に対してネガティブな感情を持っての決断ではないことを、ご理解頂けないでしょうか。たとえ私が退職しても今後もオラクルは引き続き Java を大切にしますし、Java に対して投資を行っていきます。どうぞ、今後もJava の事を変わらずご支援いただき、安心してご利用頂けますよう宜しくお願いします。

最後に、
来週月曜日から新しい会社で働きます。新しい会社名や理由は入社後改めてご報告しますが、とても楽しみにしています。私の新しいチャレンジに対し、引き止めて頂きつつも、最後に理解を示してくださった上司に対して、今ここで改めて心より感謝の気持ちを述べたいと思います。そして、最後に温かく送り出していただいたオラクルの同僚・友人にも改めて感謝したいと思います。

私のエンジニア人生は、ずっと Java と共にありましたし、私を育ててくれたのも Java です。会社が変わっても私は Java のファンでいつづけたいと思います。そして今後は皆様と共に、外の世界から Java を応援し何らかの形で関わりたいと思います。

Sun Microsystems から Oracle まで、
お世話になったすべての皆様、本当にありがとうございました。
I Love Java.
Yoshio Terada
Oracle Java Evangelist.








2015/07/11 更新分

Twitter で頂いたメッセージ一覧(Togetter)
 #てらだよしお 退職エントリのまとめ

FaceBook で頂いたメッセージへのリンク1

FaceBook で頂いたメッセージへのリンク2

Twitter の Tweet メッセージ

2015年7月10日 at 1:00 午後 1件のコメント

Older Posts Newer Posts


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2025年12月
1234567
891011121314
15161718192021
22232425262728
293031  

カテゴリー

clustermap

ブログ統計情報

  • 1,312,013 hits

Feeds

アーカイブ