zoukankan      html  css  js  c++  java
  • 使用Maven管理的jar项目将scala编译的class文件也添加到jar当中

    当进行scala代码与java代码同时编写的时候,我们可能会需要将scala代码连同java代码都打包成一个文件。
    本博文主要是针对jar包的打包,并没有针对war包。
    代码目录及文件:
    这里写图片描述
    pom文件的的plugins如下(主要代码段为org.scala-tools这个plugin):

    <build>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <finalName>${project.artifactId}-${project.version}</finalName>
            <descriptors>
              <descriptor>src/main/assembly/assembly.xml</descriptor>
            </descriptors>
          </configuration>
          <executions>
            <execution>
              <id>make-assembly</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.3.1</version>
          <configuration>
            <outputDirectory>${project.basedir}/lib</outputDirectory>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.18</version>
          <configuration>
            <skipTests>${skipTests}</skipTests>
          </configuration>
        </plugin>
     <plugin>
          <groupId>org.scala-tools</groupId>
          <artifactId>maven-scala-plugin</artifactId>
          <version>2.15.2</version>
          <executions>
            <execution>
              <id>scala-compile-first</id>
              <goals>
                <goal>compile</goal>
              </goals>
              <configuration>
                <includes>
                  <include>**/*.scala</include>
                </includes>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

    pom文件的dependency如下(scala依赖):

    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.11.8</version>
    </dependency>

    接下来进行mvn的打包,请确保windows下的mvn环境和jdk环境已经装好:
    这里写图片描述
    先如上图,清除包,接下来打包:
    这里写图片描述
    打包完成之后终端显示:
    这里写图片描述
    打包成jar包之后的scala代码和java代码编译后的class文件RmError.class是由scala代码编译而来的:
    这里写图片描述

    学习、成长
  • 相关阅读:
    java图形化Swing教程(一)
    NYOJ467 中缀式变后缀式 【栈】
    火云开发课堂
    Egret项目Typescript的编译报错
    Java学习笔记(八):集合类
    Java学习笔记(七):内部类、静态类和泛型
    认识JavaScript的原型
    Java学习笔记(六):面向对象、接口和抽象类
    Java学习笔记(五):异常处理
    Java学习笔记(四):流程控制
  • 原文地址:https://www.cnblogs.com/yarcl/p/11046768.html
Copyright © 2011-2022 走看看