Skip to content

Instantly share code, notes, and snippets.

@asufana
Last active July 24, 2018 08:33
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save asufana/30539ad894268b3fef57 to your computer and use it in GitHub Desktop.
Save asufana/30539ad894268b3fef57 to your computer and use it in GitHub Desktop.
PlayFramework 1.2.x Java8対応

PlayFramework 1.2.x Java8対応

Java8対応の1.3がリリースされそうな様子がないため、1.2.xブランチにJava8対応コミットを適用して利用する。

PlayFramework1リポジトリをforkする

  • GitHubサイト上で PlayFramework1リポジトリ をforkする

  • タグ 1.2.5.4 をチェックアウトして新しいブランチ 1.2.5.4-java8 を生成する

# git clone https://github.com/asufana/play1.git
# mv play1 Play1Forked
# cd Play1Forked
# git branch -a
* master
  remotes/origin/1.1.x
  remotes/origin/1.2.5.4
  remotes/origin/1.2.5.x-security
  remotes/origin/1.2.6-security
  remotes/origin/1.2.x
  remotes/origin/1.3.x
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

# git tag -l
1.1
1.1.1
1.1.1RC1
1.1.2
...

# git checkout -b 1.2.5.4-java8 1.2.5.4
# git branch -a
* 1.2.5.4-java8
  master
  remotes/origin/1.1.x
  remotes/origin/1.2.5.4
  remotes/origin/1.2.5.x-security
  remotes/origin/1.2.6-security
  remotes/origin/1.2.x
  remotes/origin/1.3.x
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

コンパイル

  • コンパイル確認
# cd framework
# ant jar
  • Playコマンド確認
# ../play version
~        _            _ 
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/   
~
~ play! 1.2.x-1.2.5.3-1-gb9fac1b, http://www.playframework.org
~
1.2.x-1.2.5.3-1-gb9fac1b

Java8対応コミットを適用する

Play1 Java8対応issue 内のコミットを適用する ( GitHub上のコミット )

1. バージョン表記を 1.2.5.4-java8 に変更

# ant jar
# ../play version
~        _            _ 
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/   
~
~ play! 1.2.5.4-java8, http://www.playframework.org
~
1.2.5.4-java8

2. ライブラリ更新

3. コンパイルオプション修正

Playプロジェクトでテスト

JDK8インストール

Java8環境に変更

# export PATH=/path/to/Play1Forked/:$PATH
# play version
~        _            _ 
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/   
~
~ play! 1.2.5.4-java8, http://www.playframework.org
~
1.2.5.4-java8

# export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
# echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

テストプロジェクト作成

# play new Play1ForkedTest
# cd Play1ForkedTest
# play deps
# play ec

EclipseでJDK設定変更

Java8実行テスト

public class Java8Test extends UnitTest {
    @Test
    public void testForEach() throws Exception {
        Arrays.asList(1, 2, 3, 4, 5).forEach(System.out::println);
    }
}

JVMメモリ設定修正

Permanent領域のサイズを制限している場合は、MetaspaceSizeに変える必要がある

jvm.memory=-Xmx768M -Xms256M -XX:MaxPermSize=256M -XX:PermSize=128M

⇒ jvm.memory=-Xmx768M -Xms256M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=128M

詳細は PlayFramework1をJava8で動作させる を参照

パッケージ作成

以下コマンドで dist フォルダに配布用 zip ファイルを作成する

# ant package

GitHubにプッシュ

# git push -u origin 1.2.5.4-java8

ダウンロードできることを確認

その他

Github上のリポジトリを直接Eclipseにインポートする

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment