1. 程式人生 > >maven編譯scala的pom.xml原始碼

maven編譯scala的pom.xml原始碼

<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.zcy</groupId>
	<artifactId>wordcount</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>${project.artifactId}</name>
	<description>My wonderfull scala app</description>
	<inceptionYear>2015</inceptionYear>
	<licenses>
		<license>
			<name>My License</name>
			<url>http://....</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<properties>
		<maven.compiler.source>1.6</maven.compiler.source>
		<maven.compiler.target>1.6</maven.compiler.target>
		<encoding>UTF-8</encoding>
		<scala.version>2.11.5</scala.version>
		<scala.compat.version>2.11</scala.compat.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.apache.spark</groupId>
			<artifactId>spark-core_2.10</artifactId>
			<version>2.2.0</version>
		</dependency>
		<dependency>
			<groupId>org.scala-lang</groupId>
			<artifactId>scala-library</artifactId>
			<version>2.10.4</version>
		</dependency>
	</dependencies>

	<build>
		<!-- 原始檔目錄 -->
		<sourceDirectory>src.main.scala</sourceDirectory>
		<testSourceDirectory>src.test.scala</testSourceDirectory>
		<!-- <resources>
			<resource>
				<directory>src/main/scala</directory>
				<includes>
					<include>**/**</include>
				</includes>
			</resource>
		</resources> -->
		<pluginManagement>
			<plugins>				
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>1.4</version>
					<configuration>
					<createDependencyReducedPom>true</createDependencyReducedPom>
					</configuration>
					<executions>
						<execution>
							<phase>package</phase>
							<goals>
								<goal>shade</goal>
							</goals>
							<configuration>
								<transformers>
									<transformer
										implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
									<transformer
										implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
										<mainClass></mainClass>
									</transformer>
								</transformers>
							</configuration>
						</execution>
					</executions>
				</plugin>


				<plugin>
					<groupId>net.alchim31.maven</groupId>
					<artifactId>scala-maven-plugin</artifactId>
					<version>3.2.2</version>
					<executions>
						<execution>
							<id>eclipse-add-source</id>
							<goals>
								<goal>add-source</goal>
							</goals>
						</execution>
						<execution>
							<id>scala-compile-first</id>
							<phase>process-resources</phase>
							<goals>
								<goal>compile</goal>
							</goals>
						</execution>
						<execution>
							<id>scala-test-compile-first</id>
							<phase>process-test-resources</phase>
							<goals>
								<goal>testCompile</goal>
							</goals>
						</execution>
						<execution>
							<id>attach-scaladocs</id>
							<phase>verify</phase>
							<goals>
								<goal>doc-jar</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<scalaVersion>2.11.8</scalaVersion>
						<recompileMode>incremental</recompileMode>
						<useZincServer>true</useZincServer>
						<args>
							<arg>-unchecked</arg>
							<arg>-deprecation</arg>
							<arg>-feature</arg>
						</args>
						<!--<jvmArgs> -->
						<!--<jvmArg>-Xms1024m</jvmArg> -->
						<!--<jvmArg>-Xmx1024m</jvmArg> -->
						<!--<jvmArg>-XX:PermSize=${PermGen}</jvmArg> -->
						<!--<jvmArg>-XX:MaxPermSize=${MaxPermGen}</jvmArg> -->
						<!--<jvmArg>-XX:ReservedCodeCacheSize=${CodeCacheSize}</jvmArg> -->
						<!--</jvmArgs> -->
						<javacArgs>
							<javacArg>-source</javacArg>
							<javacArg>${java.version}</javacArg>
							<javacArg>-target</javacArg>
							<javacArg>${java.version}</javacArg>
							<javacArg>-Xlint:all,-serial,-path</javacArg>
						</javacArgs>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.6</version>
					<configuration>
						<descriptorRefs>
							<descriptorRef>jar-with-dependencies</descriptorRef>
						</descriptorRefs>
					</configuration>
					<!-- 指定main類
					<configuration>
						<appendAssemblyId>false</appendAssemblyId>
						<descriptorRefs>
							<descriptorRef>jar-with-dependencies</descriptorRef>
						</descriptorRefs>
						<archive>
							<manifest>
								<mainClass>com.zcy.spark2.WordCount</mainClass>
							</manifest>
						</archive>
					</configuration>
					<executions>
						<execution>
							<id>make-assembly</id>
							<phase>package</phase>
							<goals>
								<goal>assembly</goal>
							</goals>
						</execution>
					</executions> -->
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>

找了好久,編譯scala應該是可以的。