Пом отличается внутри META-INF папки jar, чем в хранилище mvn - PullRequest
0 голосов
/ 28 ноября 2018

Зависимости pom-файла com.google.auto.value: auto-value: 1.1 внутри внешних библиотек проекта отличаются от того же pom-файла в mvnrepository. Структура jar

pom автоматического значения: 1.1 внутри META-INF имеет больше зависимостей, чем pom, присутствующий в репозитории mvn.Я также попытался собрать проект из github после комментирования дополнительных зависимостей, но это не удалось.Я также проверил родительский pom, но отсутствующие зависимости там не указаны

POM внутри META-INF:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.google.auto</groupId>
    <artifactId>auto-parent</artifactId>
    <version>3</version>
  </parent>

  <groupId>com.google.auto.value</groupId>
  <artifactId>auto-value</artifactId>
  <version>1.1</version>
  <name>AutoValue</name>
  <description>
    Immutable value-type code generation for Java 1.6+.
  </description>

  <scm>
    <url>http://github.com/google/auto</url>
    <connection>scm:git:git://github.com/google/auto.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/google/auto.git</developerConnection>
    <tag>HEAD</tag>
  </scm>

  <dependencies>
    <dependency>
      <groupId>com.google.auto</groupId>
      <artifactId>auto-common</artifactId>
      <version>0.4</version>
    </dependency>
    <dependency>
      <groupId>com.google.auto.service</groupId>
      <artifactId>auto-service</artifactId>
      <version>1.0-rc2</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>18.0</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <version>4.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity</artifactId>
      <version>1.7</version>
    </dependency>
    <!-- test dependencies -->
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava-testlib</artifactId>
      <version>17.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.testing.compile</groupId>
      <artifactId>compile-testing</artifactId>
      <version>0.6</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.truth</groupId>
      <artifactId>truth</artifactId>
      <version>0.25</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-invoker-plugin</artifactId>
        <configuration>
          <addTestClassPath>true</addTestClassPath>
          <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
          <filterProperties>
            <auto.version>${project.version}</auto.version>
          </filterProperties>
          <pomIncludes>
            <pomInclude>*/pom.xml</pomInclude>
          </pomIncludes>
          <streamLogs>true</streamLogs>
        </configuration>
        <executions>
          <execution>
            <id>integration-test</id>
            <goals>
              <goal>install</goal>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration>
          <minimizeJar>true</minimizeJar>
              <filters>
                <filter>
                   <artifact>org.apache.velocity:*</artifact>
                   <includes>
                       <include>**</include>
                   </includes>
                </filter>
              </filters>
          <relocations>
        <!-- We don't relocate Velocity classes because they often load classes from
             strings, and the relocator doesn't know to rewrite those strings.
                     We also don't minimize it for similar reasons.
             You would expect that we could express this by relocating org.apache and
             excluding org.apache.velocity.**, but it turns out that doesn't work because
             the relocator for some reason feels the need to rewrite string constants that
             begin with org/apache even if they also begin with org/apache/velocity, and
             that throws resource name constants into the air. -->
        <relocation>
          <pattern>org.apache.commons</pattern>
          <shadedPattern>autovalue.shaded.org.apache.commons</shadedPattern>
        </relocation>
        <relocation>
          <pattern>org.objectweb</pattern>
          <shadedPattern>autovalue.shaded.org.objectweb</shadedPattern>
        </relocation>
        <relocation>
          <pattern>com.google</pattern>
          <shadedPattern>autovalue.shaded.com.google.common</shadedPattern>
          <excludes>
            <exclude>com.google.auto.value.**</exclude>
          </excludes>
        </relocation>
          </relocations>
        </configuration>
      </execution>
    </executions>
      </plugin>
    </plugins>
  </build>
</project>

POM maven central из этого URL -> https://search.maven.org/classic/remotecontent?filepath=com/google/auto/value/auto-value/1.1/auto-value-1.1.pom ниже

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
    <artifactId>auto-parent</artifactId>
    <groupId>com.google.auto</groupId>
    <version>3</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.google.auto.value</groupId>
  <artifactId>auto-value</artifactId>
  <name>AutoValue</name>
  <version>1.1</version>
  <description>
    Immutable value-type code generation for Java 1.6+.
  </description>
  <scm>
    <connection>scm:git:git://github.com/google/auto.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/google/auto.git</developerConnection>
    <url>http://github.com/google/auto</url>
  </scm>
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
      </plugin>
      <plugin>
        <artifactId>maven-invoker-plugin</artifactId>
        <executions>
          <execution>
            <id>integration-test</id>
            <goals>
              <goal>install</goal>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <addTestClassPath>true</addTestClassPath>
          <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
          <filterProperties>
            <auto.version>${project.version}</auto.version>
          </filterProperties>
          <pomIncludes>
            <pomInclude>*/pom.xml</pomInclude>
          </pomIncludes>
          <streamLogs>true</streamLogs>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <minimizeJar>true</minimizeJar>
              <filters>
                <filter>
                  <artifact>org.apache.velocity:*</artifact>
                  <includes>
                    <include>**</include>
                  </includes>
                </filter>
              </filters>
              <relocations>
                <relocation>
                  <pattern>org.apache.commons</pattern>
                  <shadedPattern>autovalue.shaded.org.apache.commons</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.objectweb</pattern>
                  <shadedPattern>autovalue.shaded.org.objectweb</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>com.google</pattern>
                  <shadedPattern>autovalue.shaded.com.google.common</shadedPattern>
                  <excludes>
                    <exclude>com.google.auto.value.**</exclude>
                  </excludes>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava-testlib</artifactId>
      <version>17.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>jsr305</artifactId>
          <groupId>com.google.code.findbugs</groupId>
        </exclusion>
        <exclusion>
          <artifactId>truth</artifactId>
          <groupId>org.truth0</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.google.testing.compile</groupId>
      <artifactId>compile-testing</artifactId>
      <version>0.6</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>tools</artifactId>
          <groupId>com.sun</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>hamcrest-core</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.google.truth</groupId>
      <artifactId>truth</artifactId>
      <version>0.25</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Почему у pom maven central зависимости меньше, чем у pom внутри моей банки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...