intellij idea 打Scala jar包及執行

分兩大塊:java

1、IDEA打可執行jar包apache

2、IDEA maven打可執行jar包maven

 

1、IDEA打可執行jar包函數

1.先建立IDEA的Scala projectui

File-->New-->Project-->Java-->Scala ,選擇Project SDK:jave包,Use library:scala sdk-->next-->填寫項目名稱和項目存放地址-->Finish插件

2.配置打jar包命令行

File-->Project Structure-->Project Settings-->Artifacts--> 點擊+--->JAR-->From modules...-->選擇Main class-->OKscala

-主函數包同路徑下會產生一個META-INF文件夾;code

Build-->Build Artifact-->Buildxml

-項目路徑下會產生一個out文件夾:jar包就在這個文件夾下面的artifacts文件夾裏面

3.命令行上執行jar包

在jar包所在的文件夾目錄下,執行 java -jar jar_name.jar

 

2、IDEA maven打可執行jar包

1.建立並配置maven工程

例如,建立以Scala語言爲基礎的maven工程

File-->New-->Project-->Maven-->選中Create from archetype,在列表中尋找並選中org.scala-tools.archetypes:scala-archetype-simple-->Next-->填寫GroupID,ArtifactID-->Next-->修改Maven home directory,本地存在的maven地址-->Next-->填寫項目名稱和項目地址-->Finish

會自動生成pom.xml文件,根據項目須要修改pom.xml文件。

 

2.須要在pom.xml文件中添加maven打可執行jar包的插件-將maven依賴的包一塊兒打包進jar包

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.testscalajar.StreamingTest</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

點擊lifecycle-->package打包生成jar文件,須要先刪除生成過的目標文件夾,點擊lifecycle-->clean.

在target 文件夾下面生成了 jarname-1.0-SNAPSHOT-jar-with-dependencies.jar 文件

接着命令行執行 java -jar jarname-1.0-SNAPSHOT-jar-with-dependencies.jar 會報錯:找不到或沒法加載主類

這是因爲maven默認只編譯Java文件,不會編譯Scala文件,可是maven提供了可以編譯Scala的類庫,所以再次改進pom.xml,加入maven用來編譯Scala的插件:

<plugin>
    <groupId>org.scala-tools</groupId>
    <artifactId>maven-scala-plugin</artifactId>
    <version>2.15.2</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>
而後刪除target 下全部文件再次點擊package 進行打包.再次執行 java -jar 命令 程序 正常執行!!
相關文章
相關標籤/搜索