2017-02-09 6 views
0

Я пытаюсь построить мой dropwizard проект, используя следующую команду:Maven сборки: Ошибка разархивации банка (MySQL-разъем-Java)

mvn package 

Я получаю следующее сообщение об ошибке:

Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on project rest-api: Error creating shaded jar: error in opening zip file /Users/ldelaney/.m2/repository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar 

Я проверил, там есть банка, прямо там, где смотрит maven.

Я также попытался взорвать его прочь, и работает:

mvn clean 
mvn package 

Но ошибка просто не уйдет. Моя IDE не показывает мне никаких ошибок.

Кроме того, здесь моя зависимость в POM:

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.36</version> 
</dependency> 

Вот весь файл POM.

<?xml version="1.0" encoding="UTF-8"?> 
<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/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.company.test</groupId> 
<artifactId>rest-api</artifactId> 
<version>1.0-SNAPSHOT</version> 

<properties> 
    <dropwizard.version>1.0.5</dropwizard.version> 
    <mongodriver.version>3.4.2</mongodriver.version> 
    <mysqlConnector.version>5.1.36</mysqlConnector.version> 
    <log4j.version>1.2.17</log4j.version> 
</properties> 

<dependencies> 

    <!-- Drop Wizard --> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-core</artifactId> 
     <version>${dropwizard.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-auth</artifactId> 
     <version>${dropwizard.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-db</artifactId> 
     <version>${dropwizard.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-hibernate</artifactId> 
     <version>${dropwizard.version}</version> 
    </dependency> 

    <!-- MYSQL and Hibernate --> 

    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>${mysqlConnector.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
     <version>1.4.193</version> 
    </dependency> 

    <!-- Log4j dependencies --> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>${log4j.version}</version> 
    </dependency> 

</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <createDependencyReducedPom>true</createDependencyReducedPom> 
       <filters> 
        <filter> 
         <artifact>*:*</artifact> 
         <excludes> 
          <exclude>META-INF/*.SF</exclude> 
          <exclude>META-INF/*.DSA</exclude> 
          <exclude>META-INF/*.RSA</exclude> 
         </excludes> 
        </filter> 
       </filters> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <transformers> 
          <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> 
          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
           <mainClass>application.ServerApplication</mainClass> 
          </transformer> 
         </transformers> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Кто-нибудь есть какие-нибудь идеи?

+0

Принято считать, при редактировании, что команды были '' не mvn' maven'. – nullpointer

+0

Пожалуйста, поделитесь с pom включением плагина, который вы используете. – nullpointer

+0

Эй, @nullpointer, я добавил POM, я также должен сказать вам, что, поскольку я удалил все в своем репозитории maven, ВСЕ, что я пытаюсь использовать, даст мне эту ошибку от maven, каждой зависимости. Я не знаю, что случилось, я ничего не менял в своей среде, через минуту я смог запустить mvn-пакет, а следующий, я не мог. – MickeyThreeSheds

ответ

1

От ответа OP это выглядит как .m2/repository/mysql-connector-java/5.1.36, существует только файл pom.xml. Пожалуйста, сделайте следующее:

  1. если вы используете либо нексусы, либо искусственные хранилища в вашей организации. удалите координаты mysql-connect и соответствующий файл pom.xml.
  2. Убедитесь, что ваш брандмауэр настроен так, что вы можете скачать файл с here. Центральный репозиторий по умолчанию настроен с установкой maven.
  3. Обновление до Maven 3, если вы находитесь на мавена 2.

Я просто скопировал ваш POM и я был в состоянии успешно строить. У меня нет искусственных или нексусов. Не могли бы вы попытаться следовать,

  1. Перейдите на свою установку maven и укажите другое местоположение репозитория. Вы должны перейти в /conf/settings.xml и раскомментировать и изменить <localRepository>/path/to/local/repo</localRepository> на путь. Убедитесь, что вы делаете chmod +777 по этому пути.
  2. Если проблема не устранена, вручную загрузите mysql-connector-java-5.1.36.jar и поместите ее туда. Посмотрите, работает ли это.
  3. если 2 не работает, повторите шаг 2, но запустите mvn с флагом -o. Это оффлайн флаг, а maven не загружает зависимость.

Если он не работает, вы можете показать свой выход Maven с -X флагом,

mvn -U -X -e install 
+0

Эй! :) Мы не используем artifactory или nexus, я могу загрузить из центра (я попробовал wget на банке там, чтобы проверить), и я нахожусь на maven 3. Есть ли что-нибудь еще, что может вызвать это ? – MickeyThreeSheds

+0

Я изменил ответ! – GauravJ

+0

Это сработало! :) Благодаря! – MickeyThreeSheds