java or scala 打包,帶依賴,生成可執行jar 包, 指定主類 然后可以直接 : java -jar xxxxx.jar or java -cp . com.xxx.appmain
<build> <sourceDirectory>src/main/scala</sourceDirectory> <!-- <testSourceDirectory>src/test/scala</testSourceDirectory>--> <!--聲明並引入子項目共有的插件--> <!-- <pluginManagement>--> <plugins> <!--java maven的打包插件--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <!--指定入口文件的位置--> <mainClass>com.bx.ItemRealTimeMonitor</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> <!--該插件用於將scala代碼編譯成class文件--> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.2.2</version> <executions> <!--綁定到maven的編譯階段--> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> <configuration> <args> <arg>-dependencyfile</arg> <arg>${project.build.directory}/.scala_dependencies</arg> </args> </configuration> </execution> </executions> </plugin> </plugins> <!-- </pluginManagement>--> </build>
二、將項目打jar 包時,將依賴的 jar 包一起並入到項目 jar 包中 在 pom.xml 的 build-plugins 節點上添加以下配置即可 <!-- 配置將依賴包一並打入到項目的 jar 包中 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version> <configuration> <archive> <manifest> <mainClass></mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- 指定在打包節點執行jar包合並操作 --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>