`

maven使用技巧

    博客分类:
  • java
阅读更多

1、pom打jar包的时候设置MANIFEST.MF的key/value,可以通过在pom.xml文件中添加plugin的方式来实现,这些plugin都在<project><build><plugins>下边:

  <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <finalName>test</finalName>
        <archive>
            <manifestEntries>
                <Premain-class>com.tmall.buy.SizeOfObject</Premain-class>
                <Boot-Class-Path></Boot-Class-Path>
                <Can-Redefine-Classes>false</Can-Redefine-Classes>
            </manifestEntries>
            <addMavenDescriptor>false</addMavenDescriptor>
        </archive>
    </configuration>
</plugin>

2、maven支持多source directory

<plugin>  
  <groupId>org.codehaus.mojo</groupId>  
  <artifactId>build-helper-maven-plugin</artifactId>  
  <version>1.1</version>  
  <executions>  
    <execution>  
      <id>add-source</id>  
      <phase>generate-sources</phase>  
      <goals>  
        <goal>add-source</goal>  
      </goals>  
      <configuration>  
        <sources> 
           <!-- Source folder    -->
          <source>src/config/java</source>  
          <source>src/main/java</source>  
          <source>src/member/java</source>  
        </sources>  
      </configuration>  
    </execution>  
  </executions>  
</plugin> 

 3、设置jdk版本

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.1</version>
	<configuration>
		<source>1.7</source>
		<target>1.7</target>
		<encoding>UTF8</encoding>
	</configuration>
</plugin>

 4、创建多子工程的父模块,注意这里是generate,create在maven3.0.5以后deprecated了

mvn archetype:generate -DgroupId=com.cn.lc.mw -DartifactId=little-middleware-study -DarchetypeArtifactId=maven-archetype-quickstart

     创建完后,修改该项目的pom.xml文件,将package类型改为pom,并删除其中的src目录。

<packaging>pom</packaging>

 5、为父模块创建子工程,在父工程目录下运行:

mvn archetype:generate -DgroupId=com.cn.mw.blog.dao -DartifactId=spring-boot-blog-dao -DarchetypeArtifactId=maven-archetype-quickstart  -DinteractiveMode=false -DarchetypeCatalog=internal  

     此时父工程会添加子工程内容

  <modules>
    <module>middleware-study-baba</module>
  </modules>

     子工程pom中也有parent内容

  <parent>
    <groupId>com.cainiao.lc.mw</groupId>
    <artifactId>little-middleware-study</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

    另,创建web工程:

mvn archetype:generate -DgroupId=com.cn.mw.blog.web -DartifactId=spring-boot-blog-web -DarchetypeArtifactId=maven-archetype-webapp  -DinteractiveMode=false -DarchetypeCatalog=internal

 

分享到:
评论
2 楼 ysyzww 2016-05-31  
你这么牛逼,你父母知道吗
1 楼 stevenjeff 2014-12-04  
你这么牛逼,你父母知道吗

相关推荐

Global site tag (gtag.js) - Google Analytics