Maven源代码插件包括配置



我有一个非标准配置的maven项目:

$> tree                                                                                          
.
├── pom.xml
├── symbolic-link-to-sources -> ../src
└── target
    ├── maven-archiver
    │   └── pom.properties
    ├── project-1.0-SNAPSHOT-sources.jar
    ├── project-1.0-SNAPSHOT.jar
    └── surefire

我正在尝试生成这个maven模块的源jar,其源在../src中。我创建了一个符号链接到…在这种情况下,插件不接受父文件夹的路径。为此,我使用如下配置的maven源插件:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <version>2.2.1</version>
  <configuration>
    <includePom>true</includePom>
    <includes>
      <include>symbolic-link-to-sources/**</include>
    </includes>
  </configuration>
</plugin>

我运行这个插件与mvn source:jar。不幸的是,我的源代码jar中只有pom.xml。如果我将includePom设置为false,则插件不会创建源存档。

我尝试了很多东西作为<include>: ../src, ../src/**, ../**, symbolic-link-to-sources, symbolic-link-to-sources/**, ../**/*.java没有一个让我我的源代码进入我的源代码jar。虽然关于它的文档说它是一个相对文件集模式。

知道如何获取内容的java文件的../src文件夹放入我的源jar?

(是的,我的符号链接没有被打破,没有办法重新安排我的模块有一个标准的文件夹层次结构,这是一个包装项目围绕一个基于ant的项目)。

您可以使用<includes属性来指定文件/模式,以便在源文件夹中包含

您是否将<sourceDirectory>设置为源的正确位置(符号链接等)?如果是这样,您可以省略上面的整个插件配置并在pom上运行mvn source:jar吗?它应该能正确生成源文件

遇到了同样的问题,在谷歌搜索和尝试之后,终于找到了这个:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>add-source</goal>
      </goals>
      <configuration>
        <sources>
          <source>../common/src/main/java</source>
        </sources>
      </configuration>
    </execution>
  </executions>
</plugin>
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <executions>
    <execution>
      <id>attach-sources</id>
      <goals>
        <goal>jar</goal>
      </goals>
    </execution>
  </executions>
</plugin>

,". ./common/src/main/java"是指向当前项目中以符号链接形式链接的源代码的路径。

请注意build-helper-maven-plugin有package phase。在阶段生成源我得到"重复类",因为相同的源是从符号链接dir和从build-helper-maven-plugin中配置的dir添加的。

相关内容

  • 没有找到相关文章

最新更新