首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java在各种框架上编译Scala 【一】

2012-12-18 
Java在各种框架下编译Scala 【一】如何利用Java在各种框架下编译Scala项目?本文转载自一位外国开发人员的blo

Java在各种框架下编译Scala 【一】

    如何利用Java在各种框架下编译Scala项目?本文转载自一位外国开发人员的blog,是一篇利用Java语言在最流行的各种Java框架下调用Scala的项目的教程,从细微入手解决实际问题。

      ?

      下面是一个教程文件是我在如今最佳或者说最流行的Java框架——Spring、Hibernate/JPA、Wicket、Maven和Intellij IDEA上充分利用Java语言调用Scala的项目,希望能帮助其他的Java程序员使用一个企业级的Scala项目。

      在IDE上的设置

      首先,下载的IntelliJ IDEA的10.0.x(社区版),因为目前它是最好的Scala的IDE。然后选择File |设置|插件(具体的安装方式请参见本博客中SCALA开发之环境搭建【IntelliJ IDEA】),选择可用的选项卡来安装Scala插件。

      创建Maven项目

      在IntelliJ IDEA中,选择文件|新建项目,然后选择Maven的模块创建一个Maven项目。然后修改如下所示的pom.xml。添加所有你需要的设置,建立Scala的汇编语言:

        <project?xmlnsxmlns="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.0http://maven.apache.org/maven-v4_0_0.xsd">????????? ?????<modelVersion>4.0.0</modelVersion>????????? ?????<groupId>com.foo</groupId>????????? ?????<artifactId>myapp</artifactId>????????? ?????<packaging>war</packaging>????????? ?????<version>1.0-SNAPSHOT</version>????????? ?????<name>myapp?Java?EE?6?Webapp</name>????????? ?????<url>http://maven.apache.org</url>????????? ?????<properties>????????? ?????????<spring.version>3.0.3.RELEASE</spring.version>????????? ??????</properties>???????? ?????????? ?????<repositories>????????? ?????????<repository>????????? ?????????????<id>java.net2</id>????????? ?????????????<name>Repository?hosting?the?jee6?artifacts</name>????????? ?????????????<url>http://download.java.net/maven/2</url>????????? ??????????</repository>???????? ?????????? ?????????<repository>????????? ?????????????<id>scala-tools.org</id>????????? ??????????????<name>Scala-tools?Maven2?Repository</name>???????? ?????????????<url>http://scala-tools.org/repo-releases</url>????????? ?????????? ?????????</repository>????????? ?????????<repository>????????? ??????????????<id>wpt-release</id>???????? ?????????????<url>http://wicketpagetest.sourceforge.net/m2-repo/releases</url>????????? ?????????? ?????????</repository>????????? ?????????<repository>????????? ??????????????<id>wpt-snapshot</id>???????? ?????????????<url>http://wicketpagetest.sourceforge.net/m2-repo/snapshots</url>????????? ?????????? ?????????</repository>????????? ?????</repositories>????????? ?????<pluginRepositories>????????? ?????????<pluginRepository>????????? ?????????????<id>scala-tools.org</id>????????? ?????????????<name>Scala-tools?Maven2?Repository</name>????????? ?????????????<url>http://scala-tools.org/repo-releases</url>????????? ??????????</pluginRepository>???????? ?????????? ?????</pluginRepositories>????????? ?????<dependencyManagement>????????? ?????????<dependencies>????????? ?????????????<dependency>????????? ??????????????????<groupId>org.springframework</groupId>???????? ?????????????????<artifactId>spring-context</artifactId>????????? ?????????? ?????????????????<version>${spring.version}</version>????????? ??????????????</dependency>???????? ?????????? ??????????????<dependency>???????? ?????????????????<groupId>org.springframework</groupId>????????? ?????????? ?????????????????<artifactId>spring-core</artifactId>????????? ?????????????????<version>${spring.version}</version>????????? ?????????????</dependency>????????? ?????????????<dependency>????????? ?????????????????<groupId>org.springframework</groupId>????????? ??????????????????<artifactId>spring-web</artifactId>???????? ?????????? ?????????????????<version>${spring.version}</version>????????? ??????????????</dependency>???????? ?????????? ??????????????<dependency>???????? ?????????????????<groupId>org.springframework</groupId>????????? ?????????? ??????????????????<artifactId>spring-orm</artifactId>???????? ?????????????????<version>${spring.version}</version>????????? ?????????? ?????????????</dependency>????????? ?????????</dependencies>????????? ?????</dependencyManagement>????????? ?????<dependencies>????????? ?????????<dependency>????????? ?????????????<groupId>com.h2database</groupId>????????? ?????????????<artifactId>h2</artifactId>????????? ?????????????<version>1.2.120</version>????????? ?????????</dependency>????????? ?????????<dependency>????????? ??????????????<groupId>org.hibernate</groupId>???????? ?????????????<artifactId>hibernate-entitymanager</artifactId>????????? ?????????? ?????????????<version>3.4.0.GA</version>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>org.springframework</groupId>????????? ?????????????<artifactId>spring-orm</artifactId>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>com.ttdev</groupId>????????? ?????????????<artifactId>wpt-core</artifactId>????????? ?????????????<version>1.5.2-SNAPSHOT</version>????????? ?????????????<scope>test</scope>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>com.ttdev</groupId>????????? ?????????????<artifactId>wpt-runtime-spring</artifactId>????????? ??????????????<version>1.5.2-SNAPSHOT</version>???????? ?????????? ?????????</dependency>????????? ?????????<dependency>????????? ??????????????<groupId>javax</groupId>???????? ?????????????<artifactId>javaee-web-api</artifactId>????????? ?????????? ?????????????<version>6.0</version>????????? ?????????????<scope>provided</scope>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>junit</groupId>????????? ?????????????<artifactId>junit</artifactId>????????? ?????????????<version>3.8.2</version>????????? ?????????????<scope>test</scope>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>org.scala-lang</groupId>????????? ?????????????<artifactId>scala-library</artifactId>????????? ?????????????<version>2.8.0.RC3</version>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>org.apache.wicket</groupId>????????? ?????????????<artifactId>wicket</artifactId>????????? ?????????????<version>1.4.9</version>????????? ?????????</dependency>????????? ?????????<dependency>????????? ?????????????<groupId>org.slf4j</groupId>????????? ?????????????<artifactId>slf4j-log4j12</artifactId>????????? ?????????????<version>1.4.2</version>????????? ?????????</dependency>????????? ?????</dependencies>????????? ?????<build>????????? ?????????<pluginManagement>????????? ?????????????<plugins>????????? ??????????????????<plugin>???????? ?????????????????????<groupId>org.apache.maven.plugins</groupId>????????? ?????????? ?????????????????????<artifactId>maven-compiler-plugin</artifactId>????????? ??????????????????????<version>2.0.2</version>???????? ?????????? ?????????????????</plugin>????????? ?????????????????<plugin>????????? ??????????????????????<groupId>org.scala-tools</groupId>???????? ?????????????????????<artifactId>maven-scala-plugin</artifactId>????????? ?????????? ?????????????????????<version>2.9.1</version>????????? ?????????????????</plugin>????????? ?????????????</plugins>????????? ?????????</pluginManagement>????????? ?????????<plugins>????????? ?????????????<plugin>????????? ??????????????????<groupId>org.apache.maven.plugins</groupId>???????? ?????????????????<artifactId>maven-compiler-plugin</artifactId>????????? ?????????? ?????????????????<executions>????????? ?????????????????????<execution>????????? ?????????????????????????<phase>compile</phase>????????? ?????????????????????????<goals>????????? ?????????????????????????????<goal>compile</goal>????????? ?????????????????????????</goals>????????? ?????????????????????</execution>????????? ?????????????????</executions>????????? ?????????????????<configuration>????????? ?????????????????????<source>1.6</source>????????? ?????????????????????<target>1.6</target>????????? ?????????????????</configuration>????????? ?????????????</plugin>????????? ?????????????<plugin>????????? ?????????????????<groupId>org.apache.maven.plugins</groupId>????????? ??????????????????<artifactId>maven-war-plugin</artifactId>???????? ?????????? ?????????????????<version>2.1-beta-1</version>????????? ?????????????????<configuration>????????? ?????????????????????<failOnMissingWebXml>false</failOnMissingWebXml>????????? ??????????????????</configuration>???????? ?????????? ?????????????</plugin>????????? ?????????????<plugin>????????? ??????????????????<groupId>org.scala-tools</groupId>???????? ?????????????????<artifactId>maven-scala-plugin</artifactId>????????? ?????????? ?????????????????<executions>????????? ?????????????????????<execution>????????? ??????????????????????????<id>scala-compile-first</id>???????? ?????????????????????????<phase>process-resources</phase>????????? ?????????? ??????????????????????????<goals>???????? ?????????????????????????????<goal>add-source</goal>????????? ?????????? ?????????????????????????????<goal>compile</goal>????????? ?????????????????????????</goals>????????? ?????????????????????</execution>????????? ?????????????????????<execution>????????? ??????????????????????????<id>scala-test-compile</id>???????? ?????????????????????????<phase>process-test-resources</phase>????????? ?????????? ??????????????????????????<goals>???????? ?????????????????????????????<goal>testCompile</goal>????????? ?????????? ?????????????????????????</goals>????????? ?????????????????????</execution>????????? ?????????????????</executions>????????? ?????????????</plugin>????????? ?????????</plugins>????????? ?????????<finalName>myapp</finalName>????????? ?????</build>????????? ?</project>?????????

      等待一段时间,IDEA将提示导入的项目是否需要更改。回答是肯定。

热点排行