Idea16使用Maven编译scala和打包jar
2016-12-08 10:45
330 查看
下面Maven的pom文件
上面是使用Scala2.11的版本,注意scala2.11 netbean不支持这个参数-make:transitive这个参数,所以必须得注释掉
下面是简单的测试:
使用Maven进行jar依赖打包,之前使用Idea的artifacts进行打包,但是导出的jar有可能因为缺少某些信息而无法直接运行,但是使用maven自动的pakage便没有这个问题,而且jar包的大小明显小于artifacts的jar包大小,下面是使用方法
下载完相关的依赖后,会在target的目录下生成下项目的jar包
<properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <encoding>UTF-8</encoding> <scala.version>2.11.7</scala.version> <scala.compat.version>2.11</scala.compat.version> </properties> <dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> </dependencies> <build> <!--scala待编译的文件目录--> <sourceDirectory>src/main/scala</sourceDirectory> <testSourceDirectory>src/test/scala</testSourceDirectory> <!--scala插件--> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.2.2</version> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> <configuration> <args> <!--<arg>-make:transitive</arg>--><!--scala2.11 netbean不支持这个参数--> <arg>-dependencyfile</arg> <arg>${project.build.directory}/.scala_dependencies</arg> </args> </configuration> </execution> </executions> </plugin> <!--manven打包插件--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>reference.conf</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.itcast.rpc.Master</mainClass> <!--main方法--> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build>
上面是使用Scala2.11的版本,注意scala2.11 netbean不支持这个参数-make:transitive这个参数,所以必须得注释掉
下面是简单的测试:
使用Maven进行jar依赖打包,之前使用Idea的artifacts进行打包,但是导出的jar有可能因为缺少某些信息而无法直接运行,但是使用maven自动的pakage便没有这个问题,而且jar包的大小明显小于artifacts的jar包大小,下面是使用方法
下载完相关的依赖后,会在target的目录下生成下项目的jar包
相关文章推荐
- idea16使用maven命令clean、编译、打包jar或者war
- idea+maven+scala创建wordcount,打包jar并在spark on yarn上运行(可以使用)
- Storm Spark Scala 混合代码快速编译打包jar方式,然后java风格使用(朋友咨询)
- maven编译scala,依赖包打包到jar里
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包
- idea16使用maven命令clean、编译、打包jar或者war
- 使用maven下载jar包,使用ant打包。yqxt项目的安装。
- 使用maven打包jar或者war
- 使用Maven编译可执行JAR
- 使用Ant编译项目,旧版SDK用apkbuilder打包,新版SDK没有apkbuilder工具,用sdklib.jar打包apk
- 解决Maven中使用很多本地jar包的编译问题
- 使用maven shade plugin打包uber jar包
- maven 使用本地jar包,并且打包至war包中
- maven编译打包jar名称里含svn版本号
- 使用maven下载jar包,使用ant打包。yqxt项目的安装。
- 使用assembly将maven项目pom.xml中的jar包打包
- maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行
- 包的定义及导入(打包编译、运行以及jar命令的使用)
- 使用maven编译项目,下载相关的jar包,包括源码包和doc包
- 使用maven的maven-assembly-plugin将jar包依赖打包到一个jar文件中