分兩大塊: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 命令 程序 正常執行!!