美文网首页
maven的使用

maven的使用

作者: navyd | 来源:发表于2019-02-23 10:14 被阅读0次

记录maven的问题及解决方案

问题

  • plugins中报错Plugin execution not covered by lifecycle configuration: org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (execution: Generate MyBatis Artifacts, phase: generate-sources)
描述

在使用mybatis generator时,maven配置为:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
<!-- 
错误:Plugin execution not covered by lifecycle configuration: org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (execution: Generate MyBatis Artifacts, phase: generate-sources)
-->
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                </configuration>
            </plugin>
        </plugins>
  </build>
解决方法
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
            </plugin>
        </plugins>
        <!-- 解决问题: Plugin execution not covered by lifecycle configuration: org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate 
            (execution: Generate MyBatis Artifacts, phase: generate-sources) -->
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.7</version>
                    <executions>
                        <execution>
                            <id>Generate MyBatis Artifacts</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
  • 源码打包

描述:maven打包后默认的jar文件不带有.java源文件,不能在ide中查看文档

解决方法

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <!-- here the phase you need -->
                        <phase>process-resources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/java</directory>
                                    <includes>**/*.java</includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

参考:

maven实现打包带源代码的jar包
Copy Resources

  • 配置编译时注解处理器

描述:使用maven编译项目,并使用自定义的注解处理器,类似于javac -cp xxx-processor.jar

解决方法:

如果是标准配置的jar,即通过配置jar文件META-INFO/services/javax.annotation.processing.Processor,则不需要额外的配置,仅需要加载到依赖中即可。通过mvn clean compile即可看到效果。

    <dependencies>
        <dependency>
            <groupId>cn.navyd</groupId>
            <artifactId>useful-annotation</artifactId>
            <version>1.0.4-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>cn.navyd</groupId>
            <artifactId>annotation-processor</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
            </plugin>
        </plugins>
    </build>

eclipse也不需要配置,也能够发现注解处理器,享受eclipse 编译器提示。注意可能需要enable annotation processing和重启eclipse

eclipse maven自动配置

相关文章

网友评论

      本文标题:maven的使用

      本文链接:https://www.haomeiwen.com/subject/jsvuyqtx.html