• maven的插件


    1.插件的简介

    <build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-source-plugin</artifactId>
    				<version>2.1.1</version>
    				<executions>
    					<execution>
    						<id>bound-source</id>
    						<phase>package</phase>
    						<goals>
    							<goal>jar-no-fork</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    		</plugins>
    </build>
     

    Ps:上述为附带源码的插件

    说明:<groupId>,<artifactId>,<version>含义同依赖类似,配置任务的id为attach-source(也可以不写),通过phase绑定在package上,执行目标goal是jar-no-fork,<phase>verify</phase>也可以不写,那么会绑定在package上。

    2.maven的插件前缀

    格式:groupid 的目标前缀:目标goal(相当于完整的写法:groupid:artifactid:version:goal)

    说明:如果是maven的官方插件,那么可以省略groupid,会自动的默认的补全,例如maven的超级pom为maven为所有的核心插件设定了版本,所有项目都可以继承,所以用户不需要任何的配置,所以在使用核心插件的时候版本就已经确定了,假如用户的某个版本没有设定,而这个插件又不属于核心插件的范畴,maven就会去检查所有仓库中可用的版本,在maven遍历本地仓库和远程插件仓库之后,maven会解析为最新版的release版本。但是最好还是设定版本,避免潜在的不稳定性(maven3只能是release),建议加上版本。

    Groupid:artifactid是一一对应的关系,根据目标前缀能找到相应的groupid以及artifactId,存储在仓库元数据中,maven在解析仓库元数据的时候会默认的将groupid解析为org.apche.maven.plugins和org/codehaus/mojo,具体可以查看org.apche.maven.plugins的仓库元数据如下http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-metadata.xml  当然也可以类上如上的方式在setting中设置的方式来添加相应的仓库元数据,配置如<pluginGroup>com.your.plugins</pluginGroup>(在</pluginGroups>添加),会搜寻在com/your/plugins/ maven-metadata.xml文件(写法如上),例如上述的mvn  dependency:list

    备注:eclipse的maven 使用build..中较dos中输入少了mvn,如在eclipse的maven 使用build..输入的是dependency:list

    3.常用插件

    1)指定jdk为1.8,utf为1.8

    <plugin>
    		<groupId>org.apache.maven.plugins</groupId>
    		<artifactId>maven-compiler-plugin</artifactId>
    		<version>3.7.0</version>
    		<configuration>
    		<source>1.8</source>
    		<target>1.8</target>
    		<encoding>UTF-8</encoding>
    		</configuration>
    </plugin>
    
    //也可以在setting中配置成全局的配置
    <profile> 
    		<id>jdk-1.8</id>  
    		<activation>  
    			<activeByDefault>true</activeByDefault>  
    			<jdk>1.8</jdk>  
    		</activation>  
    		<properties>  
    			<maven.compiler.source>1.8</maven.compiler.source>  
    			<maven.compiler.target>1.8</maven.compiler.target>  
    			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
    		</properties>  
    </profile>  
    

     2)生成可执行的jar

    <plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-shade-plugin</artifactId>
    				<version>3.1.0</version>
    				<executions>
    					<execution>
    						<phase>package</phase>
    						<goals>
    							<goal>shade</goal>
    						</goals>
    						<configuration>
    							<transformers>
    								<transformer
    									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
    									<mainClass>hello.hello</mainClass>
    								</transformer>
    							</transformers>
    						</configuration>
    					</execution>
    				</executions>
    			</plugin>
    

    备注:执行在dos窗口使用 java  -jar   jar包的绝对地址,也可以使用java -classpath jar包的绝对地址,在没有使用上述插件的前提下,也可以模仿MANIFEST.MF中添加例如Main-Class。

    3)其他插件:http://maven.apache.org/plugins/index.html  有说明和实例

  • 相关阅读:
    Codeforces Round #475 (Div. 1) B. Destruction of a Tree
    HDU
    HihoCoder
    浅谈spfa几个优化
    Codeforces Round #474 E. Alternating Tree
    Wannafly 挑战赛12 D
    2017 Multi-University Training Contest
    2017 Multi-University Training Contest
    斜率优化DP基础XVI Open Cup named after E.V. Pankratiev. GP of Ukraine.K
    斜率优化DP入门_HDU3507_Print Article
  • 原文地址:https://www.cnblogs.com/gg128/p/9432846.html
Copyright © 2020-2023  润新知