2015-12-10 3 views
3

У меня есть ниже плагин в моем ПОМ:Как исключить JasperReports артефакт из JasperReports Maven плагин

<plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>jasperreports-maven-plugin</artifactId> 
        <version>1.0-beta-2</version> 
        <dependencies>      
         <dependency> 
          <!-- The dependency specified by the plugin doesn't work so we must provide our own --> 
          <groupId>net.sf.jasperreports</groupId> 
          <artifactId>jasperreports</artifactId> 
          <version>${jasperreports.version}</version> 
          <exclusions> 
           <exclusion> 
            <groupId>jfree</groupId> 
            <artifactId>jcommon</artifactId> 
           </exclusion> 
           <exclusion> 
            <groupId>com.lowagie</groupId> 
            <artifactId>itext</artifactId> 
           </exclusion> 
          </exclusions> 
         </dependency> 
         <!-- Groovy compiler seems to be required but not part of JasperReports' specified dependencies--> 
         <dependency> 
          <groupId>org.codehaus.groovy</groupId> 
          <artifactId>groovy-all</artifactId> 
          <version>${groovy.version}</version> 
         </dependency> 
         <dependency> 
          <groupId>com.lowagie</groupId> 
          <artifactId>itext</artifactId> 
          <version>${itext.version}</version> 
         </dependency> 
        </dependencies> 
       </plugin> 

версия 1,0-бета-2 из указанных выше пунктов плагин для JasperReports артефакт версии 1.2.0, который в превращаются в точках открытого состава достоянию-сборники [2.1,) в 1,0-бета-2 П:

<dependency> 
     <groupId>jasperreports</groupId> 
     <artifactId>jasperreports</artifactId> 
     <version>1.2.0</version> 
    </dependency> 

И в JasperReports 1.2.0 П:

<dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
      <version>[2.1,)</version> 
      <scope>compile</scope> 
     </dependency> 

В моем случае, кто-то еще нажал на ссылку nexus repostory, артефакт, называемый коллекциями коллекций 3.2.1-redhat-7. jasperreports-maven-plugin указывает на приведенную выше коллекцию, которая оказывается коррумпированной. Существует действительная версия общего собрания 3.2.1. Мне нужно исключить артефакт jasperreports и заставить jasperreports-maven-plugin использовать net.sf.jasperreports. я alread попытался добавить

<dependency> 
          <groupId>org.codehaus.mojo</groupId> 
          <artifactId>jasperreports-maven-plugin</artifactId> 
          <version>1.0-beta-2</version> 
          <exclusions> 
           <exclusion> 
            <groupId>jasperreports</groupId> 
            <artifactId>jasperreports</artifactId> 
           </exclusion> 
          </exclusions> 
         </dependency> 

к плагином выше, но он все еще указывает на те же 1.2.0 JasperReports, что указывает на незамкнутых Викисклада коллекций, а также сборка не удается. Однако, если я прокомментирую зависимость «jasperreports» в jasperreports-maven-plugin.pom, она использует jasperreports из net.sf.jasperreports и строит отлично. Пожалуйста, дайте мне знать.

ответ

0

Извините за не очень отвечать (пока не может комментировать из-за отсутствия репутации), но:
1.
в случае, если вы находитесь в спешке, как я был, здесь обходной путь, от http://community.jaspersoft.com/questions/967926/issue-maven-plugin-codehaus-dec-9-2015:

Вам нужно добавить

https://maven.repository.redhat.com/nexus/content/groups/product-ga

в качестве одного из удаленных РЕПО.

большое спасибо joel.witham

2.
Я думаю, что ответ на this Maven dependency management for plugin dependencies

наиболее promising..i.e. не исключайте jasper-1.2, но убедитесь, что он использует правильную версию зависимостей.

+0

Добавление Porduct-га, как зеркало в моей settings.xml решить эту проблему сейчас. Спасибо. – user1455116

+0

Были и другие проблемы, когда я попытался явно использовать артефакт jasperreports 1.2, исключить открытые коллективные фонды и заставить использовать конкретную коллекцию коллекций. Таким образом, я должен полагаться на удаленное репо как временное решение. – user1455116

+0

i явным образом добавил коллекцию коллекций-3.2.1 в качестве другой depdendecy для jasperreports-maven-plugin..worked..i удалил продукт-ga repo..если все сработало. Затем я снова удалил явный depdency. работал?!?. Может быть, пока кто-то исправил проблему в публичных репозиториях.я мог бы исследовать, какая версия коллекций commons-jasperreports-maven теперь используется, когда я комментирую явный коллективный коллектив, но я чувствую, что я достаточно трачу на это ;-). Я могу договориться с запуском mvn -X install и увидев, что он использует 3.2.1, тогда я явно установил его. – tobi42

0

Попробуйте эту конфигурацию:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>jasperreports-maven-plugin</artifactId> 
    <version>1.0-beta-2</version> 
    ... 
    <dependencies> 
     ... 
     <dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
      <version>3.2.1</version> 
     </dependency> 
     <dependency> 
      <groupId>jasperreports</groupId> 
      <artifactId>jasperreports</artifactId> 
      <version>1.2.0</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-collections</groupId> 
        <artifactId>commons-collections</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    </dependencies> 
</plugin> 
Смежные вопросы