maven in action 筆記一到三章

1. mvn help:system 命令可輸出操作系統信息,java 版本信息,java 虛擬機信息,java class path 信息,系統環境變量所有信息,系統文件編碼方式等
2. telnet命令:telnet ip port,退出時 ctrl+],然後 q
3. 工程名一般用中劃線,包名用小寫。一般來說,項目中java類的包都應該基於項目的groupId和artifactId,這樣更清晰。
4. groupId, artifactId, version三個元素定義了一個項目的基本座標,maven世界,任何jar, pom, war都是基於這些基本座標進行區分。
5. 項目主代碼和測試代碼。主代碼會被打包到最終構件(jar)中,測試代碼不會。主代碼通常位於src/main/java包中
6. mvn clean compile。clean 告訴Maven清理輸出目錄 target/,compile告訴Maven編譯項目主代碼。依賴中 scope 表示依賴(jar包)的作用範圍,如果爲test則表示依賴只在測試代碼中可用,如果在主代碼中import則會編譯異常。
7. mvn clean test。執行 maven 測試。
8. mvn clean package。打包,打包前會執行測試。打包生成的jar包會放在項目 target/目錄下。
9. mvn clean install。將項目輸出的jar安裝到Maven本地倉庫中。命令執行順序:執行test之前先執行compile,執行package之前先執行test,執行install之前先執行package
10. 爲了生成可執行的jar文件,需要藉助 maven-shade-plugin,會在MANIFEST.MF 文件中生成Main-class一行。配置如下:
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.2.1</version>
                <executions>
                  <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <!-- 將該信息放到MANIFEST中 -->
                                    <mainClass>com.juvenxu.mvnbook.helloworld.HelloWorld</mainClass>
                                </transformer>
                            </transformers>
                    </configuration>
                    </execution>     
                </executions>
            </plugin>
        </plugins>
    </build>
11. 使用archetype生成項目骨架 mvn archetype:generate


mvn help:system輸出信息
===============================================================================
========================= Platform Properties Details =========================
===============================================================================

===============================================================================
System Properties
===============================================================================

java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C:\Program Files\Java\jdk1.8.0_121\jre\bin
java.vm.version=25.121-b13
java.vm.vendor=Oracle Corporation
maven.multiModuleProjectDirectory=C:\Users\newtouch
java.vendor.url=http://java.oracle.com/
path.separator=;
guice.disable.misplaced.annotation.check=true
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\Users\newtouch
java.runtime.version=1.8.0_121-b13
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jdk1.8.0_121\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\newtouch\AppData\Local\Temp\
line.separator=

java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 10
classworlds.conf=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..\bin\m2.conf
sun.jnu.encoding=GBK
java.library.path=C:\Program Files\Java\jdk1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\installed\xshell\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Java\jre1.8.0_121\bin;D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin;D:\installed\Git\cmd;D:\installed\svn\bin;C:\WINDOWS\System32\OpenSSH\;E:\apis\apache-ant-1.10.6-bin\apache-ant-1.10.6\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\newtouch\AppData\Local\Microsoft\WindowsApps;;D:\installed\IntelliJ-IDEA-Community-Edition-2019.1\bin;;.
maven.conf=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\../conf
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=10.0
library.jansi.path=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..\lib\jansi-native
user.home=C:\Users\newtouch
user.timezone=Asia/Shanghai
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.specification.version=1.8
file.encoding=GBK
user.name=newtouch
java.class.path=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..\boot\plexus-classworlds-2.5.2.jar
java.vm.specification.version=1.8
sun.arch.data.model=64
java.home=C:\Program Files\Java\jdk1.8.0_121\jre
sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher help:system
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_121
java.ext.dirs=C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path=C:\Program Files\Java\jdk1.8.0_121\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_121\jre\classes
sun.stderr.encoding=ms936
java.vendor=Oracle Corporation
maven.home=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.stdout.encoding=ms936
sun.desktop=windows
sun.cpu.isalist=amd64

===============================================================================
Environment Variables
===============================================================================

CLASSWORLDS_JAR="D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..\boot\plexus-classworlds-2.5.2.jar"
PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
COMMONPROGRAMW6432=C:\Program Files\Common Files
PROGRAMW6432=C:\Program Files
PROCESSOR_ARCHITECTURE=AMD64
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
PATH=D:\installed\xshell\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Java\jre1.8.0_121\bin;D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin;D:\installed\Git\cmd;D:\installed\svn\bin;C:\WINDOWS\System32\OpenSSH\;E:\apis\apache-ant-1.10.6-bin\apache-ant-1.10.6\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\newtouch\AppData\Local\Microsoft\WindowsApps;;D:\installed\IntelliJ-IDEA-Community-Edition-2019.1\bin;
PROGRAMDATA=C:\ProgramData
WDIR=C:\
ANT_HOME=E:\apis\apache-ant-1.10.6-bin\apache-ant-1.10.6
SYSTEMROOT=C:\WINDOWS
AXIS2_HOME=E:\apis\axis2-1.7.9-bin\axis2-1.7.9\
JAVACMD=C:\Program Files\Java\jdk1.8.0_121\bin\java.exe
TMP=C:\Users\newtouch\AppData\Local\Temp
PROGRAMFILES(X86)=C:\Program Files (x86)
EXEC_DIR=C:\Users\newtouch
COMPUTERNAME=LAPTOP-HGO3FQP0
OS=Windows_NT
PROMPT=$P$G
MAVEN_HOME=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..
WINDIR=C:\WINDOWS
SYSTEMDRIVE=C:
=::=::\
COMSPEC=C:\WINDOWS\system32\cmd.exe
DRIVERDATA=C:\Windows\System32\Drivers\DriverData
=C:=C:\Users\newtouch
CONFIGSETROOT=C:\WINDOWS\ConfigSetRoot
HOMEDRIVE=C:
LOGONSERVER=\\LAPTOP-HGO3FQP0
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
COMMONPROGRAMFILES=C:\Program Files\Common Files
PROGRAMFILES=C:\Program Files
INTELLIJ IDEA COMMUNITY EDITION=D:\installed\IntelliJ-IDEA-Community-Edition-2019.1\bin;
COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files
TEMP=C:\Users\newtouch\AppData\Local\Temp
NUMBER_OF_PROCESSORS=4
USERDOMAIN=LAPTOP-HGO3FQP0
M2_HOME=D:\installed\apache-maven-3.5.3-bin\apache-maven-3.5.3
PROCESSOR_LEVEL=6
ERROR_CODE=0
SESSIONNAME=Console
USERNAME=newtouch
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
=EXITCODE=00000001
JVMCONFIG=\.mvn\jvm.config
USERDOMAIN_ROAMINGPROFILE=LAPTOP-HGO3FQP0
PUBLIC=C:\Users\Public
ONEDRIVE=C:\Users\newtouch\OneDrive
PROCESSOR_REVISION=8e09
USERPROFILE=C:\Users\newtouch
APPDATA=C:\Users\newtouch\AppData\Roaming
HOMEPATH=\Users\newtouch
LOCALAPPDATA=C:\Users\newtouch\AppData\Local
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_121
ALLUSERSPROFILE=C:\ProgramData
MAVEN_CMD_LINE_ARGS=help:system
MAVEN_PROJECTBASEDIR=C:\Users\newtouch

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.121 s
[INFO] Finished at: 2019-09-29T11:02:34+08:00
[INFO] ------------------------------------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章