1) 使用MVN创建项目

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

2)在项目目录src/mainz中创建scala目录,创建文件hallo.scala

object HelloWorld {
    def main(args: Array[String]) {
      println("Hello, world\!")
    }
  }
3)修改pom.xml编译scala文件
<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.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <scala.version>2.10.0</scala.version>
    <scala.binary.version>2.10</scala.binary.version>
    <akka.group>org.spark-project.akka</akka.group>
    <akka.version>2.2.3-shaded-protobuf</akka.version>
    <PermGen>64m</PermGen>
    <MaxPermGen>512m</MaxPermGen>
  </properties>
  <dependencies>
    <dependency>
        <groupId>${akka.group}</groupId>
        <artifactId>akka-actor_${scala.binary.version}</artifactId>
        <version>${akka.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.jboss.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
        </exclusions>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId> <!--where scala lib is-->
        <version>2.10.0</version>
    </dependency>
  </dependencies>
  <build>
        <plugins>
            <plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-jar-plugin</artifactId>
		<configuration>
			<archive>
				<manifest>
					<mainClass>HelloWorld</mainClass> <!--main entry class-->
				</manifest>
			</archive>		
	        </configuration>
            </plugin>
            <plugin>
                <groupId>org.scala-tools</groupId>
               <artifactId>maven-scala-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.scala-tools</groupId> <!--for mvn to compile scala-->
               <artifactId>maven-scala-plugin</artifactId>
 
                <executions>
                    <execution>
                        <id>compile</id>
                        <goals>
                        <goal>compile</goal>
                        </goals>
                        <phase>compile</phase>
                    </execution>
 
                    <execution>
                        <id>test-compile</id>
                        <goals>
                        <goal>testCompile</goal>
                        </goals>
                        <phase>test-compile</phase>
                    </execution>
 
                    <execution>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <pluginRepositories>
    <pluginRepository><!--where mvn downloads scala tools-->
        <id>scala</id>
        <name>Scala Tools</name>
        <url>http://scala-tools.org/repo-releases/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
    </pluginRepositories>
</project>
4) 编译、打包

mvn package

5)执行

scala ./target/my-app*.jar


环境:

fedora 18

scala 2.10

mvn 3.0

jdk 1.7

 

posted on 2014-05-18 20:19  #hanhui  阅读(168)  评论(0编辑  收藏  举报