<build> <plugins> <!-- 指定maven編譯的jdk版本,如果不指定,maven3默認用jdk 1.5 maven2默認用jdk1.3 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <!-- 一般而言,target與source是保持一致的,但是,有時候為了讓程序能在其他版本的jdk中運行 (對於低版本目標jdk,源代碼中不能使用低版本jdk中不支持的語法),會存在target不同於source的情況 --> <source>1.8</source> <!-- 源代碼使用的JDK版本 --> <target>1.8</target> <!-- 需要生成的目標class文件的編譯版本 --> <encoding>UTF-8</encoding><!-- 字符集編碼 --> <verbose>true</verbose> <!--<showWarnings>true</showWarnings>--> <!-- 要使compilerVersion標簽生效,還需要將fork設為true,用於明確表示編譯版本配置的可用 --> <!--<fork>true</fork>--> <!-- 使用指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> --> <!-- <executable>path-to-javac </executable>--> <!-- 指定插件將使用的編譯器的版本 --> <!--<compilerVersion>1.3</compilerVersion>--> <!-- 編譯器使用的初始內存 --> <!--<meminitial>128m</meminitial>--> <!-- 編譯器使用的最大內存 --> <!--<maxmem>512m</maxmem>--> <!-- 這個選項用來傳遞編譯器自身不包含但是卻支持的參數選項 --> <!--<compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument>--> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId> maven-assembly-plugin </artifactId> <configuration> <!-- 使用Maven預配置的描述符--> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- 綁定到package生命周期 --> <phase>package</phase> <goals> <!-- 只運行一次 --> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>