SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新開発言語「Scala」の実体

Javaの限界を超えて実用化を目指す
新開発言語「Scala」のメリットとは~後編

キーワードは手軽さと拡張性

  • X ポスト
  • このエントリーをはてなブックマークに追加

シンプルなScalaプロジェクトの作成

 MavenでScalaプロジェクトを作成するには、LIST24の冒頭のようなコマンドを入力します(インターネットへの接続が必須となります)。これによりMavenはScalaを実行するために必要なパッケージを入手します。途中で質問に入力を促されるので、LIST24を参考に答えてください。するとtestAppというフォルダが作成され、そのフォルダ以下にはシンプルなScalaのサンプルコードが置かれます。

LIST24
mvn archetype:generate -DarchetypeGroupId=org.scala-tools.archetypes -DarchetypeArtifactId=scala-archetype-simple -DarchetypeVersion=1.2 -DremoteRepositories=http://scala-tools.org/repo-releases -DgroupId=com.test_scala_maven -DartifactId=testApp

●2つの質問に答える
Define value for version:  1.0-SNAPSHOT: : 1.2
・・・・
Y: :y
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------

 この内容は少しバージョンが古いため、¥testApp¥pom.xmlファイルをLIST25のように修正しましょう。

LIST25
8行目
変更前	
<scala.version>2.7.0</scala.version>
変更後
<scala.version>2.7.5</scala.version>


64行目~66行目を削除
<args>
  <arg>-target:jvm-1.5</arg>
</args>

 さらに次のコマンドを実行すると、「Hello World!」と表示されます。

testApp>mvn clean scala:console-DmainConsolecom.test_scala_maven.App

シンプルなLiftwebプロジェクトの作成

 WebフレームワークであるLiftweb(後述)のプロジェクトもMavenで作成してしまいましょう。LIST26のコマンドでLiftwebのプロジェクトを作成できます。

LIST26
mvn archetype:generate -U -DarchetypeGroupId=net.liftweb -DarchetypeArtifactId=lift-archetype-basic -DarchetypeVersion=1.0 -DremoteRepositories=http://scala-tools.org/repo-releases -DgroupId=com.liftworkshop -DartifactId=todo -Dversion=0.1-SNAPSHOT

 ¥todo¥pom.xmlファイルをLIST27のとおり修正するtodoフォルダに移動し、LIST28のコマンドでコンパイルを実行し、アプリケーションを起動すると、次のメッセージが表示されます。

LIST27
11行目
変更前
<scala.version>2.7.3</scala.version>
変更後
<scala.version>2.7.5</scala.version>
LIST28
●コンパイルを実行
todo> mvn clean compile

●アプリケーションを起動
todo> mvn jetty:run
コンパイルを実行し、アプリケーションを起動すると、メッセージが表示される
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 5 seconds.

 表示されたら、Webブラウザでhttp://localhost:8080/にアクセスすれば、テストアプリケーションが表示されます。

※参考:他のアプリケーションが8080ポートを使用している場合

 同じポート番号を使う事は出来ないため、pom.xmlファイルに、以下を追記します。

●92行目
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <configuration>
          <contextPath>/</contextPath>
●97行目   <scanIntervalSeconds>5</scanIntervalSeconds>
--------------------------------------------------------------- 追加開始
          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8088</port>
              <maxIdleTime>60000</maxIdleTime>
            </connector>
          </connectors>
--------------------------------------------------------------- 追加終了
        </configuration>
      </plugin>

 <port>8088</port>には、他のサービスが使用していない番号を指定します。

次のページ
データベース(PostgreSQL)との接続

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
新開発言語「Scala」の実体連載記事一覧

もっと読む

この記事の著者

株式会社パテントビューロ 三木隆史(ミキ タカフミ)

株式会社パテントビューロ所属。マネージャー業務と平行して、Webアプリケーション開発、自然言語系の研究開発を行なう。以前はC言語による組込開発。違和感なくScalaへ移行できたことや、ロジック部分に注力できる生産性の高さに驚いている。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

株式会社パテントビューロ 木村吉博(キムラ ヨシヒロ)

政府系研究機関での研究開発を経て、現在、株式会社パテントビューロにて、プログラミング(知財関連文書(SGML/XML)の変換バッチ処理のScalaでの記述など)を担当している。複雑でイレギュラーな記述も多々見られる大量の文書を相手にする際に、Scalaの書きやすさと高速性とに大いに助けられている。か...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4476 2009/11/19 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング