maven配置多个源文件目录一直提示“找不到程序包”的解决记录

要将项目代码打成war包放入测试环境,于是使用mvn clean package / mvn install 后一直报找不到本地另一个源代码目录的java类

之前对build-helper-maven-plugin插件用的很顺手,一直也没有问题,但就是不能将core这个资源目录下的java源文件打包进去,

之后就开始漫长的查找过程,比如怀疑插件版本问题,怀疑插件问题,怀疑是不是切换到jdk8后插件不支持等。

先附上插件的配置:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>1.12</version>
  <executions>
    <execution>
      <id>add-source</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>add-source</goal>
      </goals>
      <configuration>
        <sources>
        <source>${basedir}/core</source>
        <!-- 我们可以通过在这里添加多个source节点,来添加任意多个源文件夹 -->
        </sources>
      </configuration>
    </execution>
  </executions>
</plugin>

之前一直没有留意<plugins>标签外包含的<pluginmanagement>的含义,没想到和他有很大关系

pluginManagement是表示插件声明,即你在项目中的pluginManagement下声明了插件,Maven不会加载该插件,pluginManagement声明可以被继承。

查看到的链接如下:http://www.cnblogs.com/EasonJim/p/6845012.html,去掉pluginManagement标签就可以编译成功了,build的完整配置如下:

<build>
        <finalName>PIMIS</finalName>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/main/resources</directory>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.12</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${basedir}/core</source>
                                <!-- 我们可以通过在这里添加多个source节点,来添加任意多个源文件夹 -->
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <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>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp</directory>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
        <directory>target</directory>
    </build>
posted @ 2017-10-26 14:46  总结  阅读(807)  评论(0编辑  收藏  举报