明けましておめでとうございます。
Heroku Embedded Tomcat Scala の設定が完成しました。
基本は、次のpom.xml ファイルです。
これでScalaがHerokuで動きます。それもLiftでもPlay! でもなく。
まったく独立して、それもOracle11gやMySQLを使って。
<?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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.heroku.seedo</groupId> <artifactId>embeddedTomcatSeedo</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>embeddedTomcatSeedo Maven Webapp</name> <properties> <scala.version>2.9.1</scala.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <repository> <id>maven.apache.org</id> <name>Maven Apache</name> <url>http://maven.apache.org</url> </repository> <repository> <id>seedo.co.jp</id> <name>Seedo Repository</name> <url>http://www.ewavesolutions.com/seedorepo/</url> </repository> <repository> <id>scala-tools.releases</id> <name>Scala-Tools Dependencies Repository for Releases</name> <url>http://scala-tools.org/repo-releases</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>scala-tools.releases</id> <name>Scala-Tools Plugins Repository for Releases</name> <url>http://scala-tools.org/repo-releases</url> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-logging-juli</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper-el</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jsp-api</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-dbcp</artifactId> <version>7.0.23</version> </dependency> <dependency> <groupId>oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11</version> </dependency> <dependency> <groupId>oracle</groupId> <artifactId>orai18n</artifactId> <version>11</version> </dependency> <dependency> <groupId>oracle</groupId> <artifactId>mysql_connectory_java</artifactId> <version>5.1.17</version> </dependency> <dependency> <groupId>seedo</groupId> <artifactId>seedo</artifactId> <version>1</version> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-compiler</artifactId> <version>${scala.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.scala-tools.testing</groupId> <artifactId>specs_2.9.1</artifactId> <version>1.6.9</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/webapp</directory> </resource> </resources> <finalName>embeddedTomcatSeedo</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.1</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <version>2.9.1</version> <configuration> <encoding>UTF-8</encoding> <charset>${project.build.sourceEncoding}</charset> <jvmArgs> <jvmArg>-Xmx1024m</jvmArg> <jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg> </jvmArgs> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>default-copy-resources</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <overwrite>true</overwrite> <outputDirectory>${project.build.directory}</outputDirectory> <resources> <resource> <directory>${project.basedir}/src</directory> <includes> <include>packageLinkDefs.properties</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.1.1</version> <configuration> <assembleDirectory>target</assembleDirectory> <programs> <program> <mainClass>launch.Main</mainClass> <name>webapp</name> </program> </programs> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>assemble</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
以下のURLで実際にアクセスしてください。
http://radiant-mountain-7703.herokuapp.com/
DBをアクセスして一覧にするページは次のURLです。