maven的使用

记录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自动配置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 你是否还在组件化开发中使用他人打好的aar包,而每次因为代码的更新都要更换arr包而感到不厌其烦。其实,在AS种简...
    tokG阅读 2,492评论 0 3
  • Eclipse中创建Maven项目 一、Maven项目的创建 1. 点击File->New->Other->搜索m...
    墨小飞阅读 18,164评论 3 6
  • MAVEN配置文件 文件位置: maven/conf/settings.xml Maven 下载 常用标签 <lo...
    c7245d80a030阅读 772评论 0 1
  • 1、安装和使用 ①Maven是一个比Ant更先进的项目管理工具,它采用一种"约定优于配置(CoC)"的策略来管...
    菁华浮英梦阅读 731评论 0 34
  • 今天来的路上,让座了。 晚上吃饭时,把让座这件事讲给女儿听,倒不是为了向她故作姿态,而是要让她认识到这是一件应该做...
    妖精夏颜阅读 218评论 0 1

友情链接更多精彩内容