intellij idea 打Scala jar包及執行


分兩大塊:

一、IDEA打可執行jar包

二、IDEA maven打可執行jar包

 

一、IDEA打可執行jar包

1.先創建IDEA的Scala project

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-->OK

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

Build-->Build Artifact-->Build

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

3.命令行上執行jar包

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

 

二、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 命令 程序 正常執行!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM