繁体   English   中英

将src / main / aspect作为源文件夹添加到Eclipse Maven项目中

[英]adding src/main/aspect as a source folder to an eclipse maven project

我希望能够配置pom.xml,以便在将其导入eclipse时将src/main/aspect指定为eclipse源文件夹。

目前,导入会创建默认的源文件夹,仅此而已。

应该做什么?

谢谢

编辑1

我因此配置了aspectj插件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.4</version>
    <executions> 
    <execution>
        <goals>
            <goal>compile</goal>    
            <goal>test-compile</goal>                           
        </goals>
         <configuration>
            <source>${project.build.source}</source>
            <target>${project.build.target}</target>
            <aspectDirectory>src/main/aspect</aspectDirectory>
            <testAspectDirectory>src/test/aspect</testAspectDirectory>
        </configuration>
    </execution>
   </executions>
</plugin>

编辑2

我因此配置了m2e插件:

<plugin>
    <groupId>org.eclipse.m2e</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <version>1.0.0</version>
    <configuration>
        <lifecycleMappingMetadata>
            <pluginExecutions>
                <pluginExecution>
                    <pluginExecutionFilter>
                        <groupId>
                            org.codehaus.mojo
                        </groupId>
                        <artifactId>
                            aspectj-maven-plugin
                        </artifactId>
                        <versionRange>
                            [1.4,)
                        </versionRange>
                        <goals>
                            <goal>test-compile</goal>
                            <goal>compile</goal>
                        </goals>
                    </pluginExecutionFilter>
                    <action>
                        <ignore></ignore>
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
</plugin>

您不应该配置插件默认值 ,因为它已经定义了src / test / aspect和src / main / aspect,并且没有必要配置一些补充编译等内容。

此外,eclipse的问题可能是由于您的m2e插件缺少映射而引起的,这意味着要在构建中添加以下内容:

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <versionRange>[1.4,)</versionRange>
                <goals>
                  <goal>compile</goal>
                  <goal>test-compile</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <execute />
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

这可能会导致您在Eclipse中看不到正确导入源文件夹的问题。

我相信source应该是Java版本,而不是目录。 target相同。 sources允许您指定源目录,文档说如果未指定,则将使用当前项目的java源-仅用于当前配置的项目。

我会尝试在sources参数中列出目录,如果那行不通,我将删除sources并尝试build-helper:add-source 我不确定是否有用于build-helper-maven-plugin的m2e连接器,因此您可能必须为上述khmarbaise添加类似的映射。

我认为它不会被Eclipse添加为源文件夹。 您可以在Java Build Path > Source自己添加它。

这不是必需的:然后,您需要安装AJDT插件并将项目转换为AspectJ Project,否则.aj文件将充满Eclipse抱怨的错误。 该错误不影响Maven编译。

以我的经验,识别或不识别为源不会影响Maven在src/main/aspect下编译.aj文件

AspectDirectoryaspectTestDirectory都具有您指定的默认值。 如果与默认值相同,则不需要它们。

下面是我的pom配置(没有尝试test-compile ),它可以工作:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <!--<Xlint>ignore</Xlint>--><!--bypass xlint warnings -->
    </configuration>
    <dependencies>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjtools</artifactId>
        <version>1.7.2</version>
    </dependency>
    </dependencies>
    <executions>
    <execution>
        <goals>
            <goal>compile</goal>
        </goals>
    </execution>
    </executions>
</plugin>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM