2015-11-29 3 views
0

Проект имеет только один пакет, содержащий все .java-файлы.Не удалось выполнить цель org.apache.maven.plugins: maven-compiler-plugin И еще

Когда я запускаю его с помощью Maven, он жалуется:

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project wx.center: Compilation failure: Compilation failure: 

Дюжина ошибок выглядят как эти:

[ERROR] C:\Users\...\wx\center\TokenJob.java:[57,53] ERROR: needs';' 
[ERROR] C:\Users\...\wx\center\TokenJob.java:[88,10] ERROR: there is 'catch', but no 'try' 
[ERROR] C:\Users\...\wx\center\TokenJob.java:[88,26] ERROR: needs')' 
[ERROR] C:\Users\...\wx\center\TokenJob.java:[90,10] ERROR: there is 'finally', but no 'try' 

Я проверил настройки затмения, enter image description here

и

enter image description here

Как вы можете видеть, я назначил «установленную JRE», и он соответствует jre, используемому компилятором.

И я использовал vim для проверки кодировки файла TokenJob.java, это выглядит нормально.

Все «ошибки» вокруг TokenJob.java файла, так что я комментировал весь класс, оставив только

public class TokenJob {} 

Тогда странные вещи происходят, некоторые другие Java-файлы просят меня import Java файл, который уже находится в тот же пакет, который не должен.

Я попытался скопировать TokenJob и обратно, то же самое. Я попытался выполнить описанную выше операцию несколько раз, а «импорт java-файла в том же пакете» происходит случайно.

Это мой П:

<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.xxxx</groupId> 
    <artifactId>wx.center</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-shade-plugin</artifactId> 
       <version>2.0</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>shade</goal> 
         </goals> 
         <configuration> 
          <transformers> 
           <transformer 
            implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
            <mainClass>com.xxxx.wx.center.MainClass</mainClass> 
           </transformer> 
          </transformers> 
          <shadedArtifactAttached>true</shadedArtifactAttached> 
          <shadedClassifierName>executable</shadedClassifierName> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Все, что я хочу, получаю файл банки с использованием Maven. Благодаря!

+0

Вы должны решить проблему компиляции с помощью блоков 'try ..catch..finally' !!! –

+0

Да, но не знаю как. В java-файле отсутствуют ошибки компиляции. – Tiina

+0

Вы настроили maven-compiler-plugin для использования источника/цели для Java 7? Кроме того, почему вы используете такую ​​[старую версию плагинов] (http://maven.apache.org/plugins/). – khmarbaise

ответ

0

Я думаю, что проблема с тенью плагин так что читать это тщательно https://maven.apache.org/plugins/maven-shade-plugin/ Альтернативное решение может быть http://www.mkyong.com/maven/how-to-create-a-jar-file-with-maven/

+0

Я использовал это решение пару раз в других проектах, не знаю, почему это ведет себя по-другому, пытаясь получить ответ. :) – Tiina

0

Попробуйте удалить все, что в вашем Markers и Problems вкладке eclipse, а затем попытаться построить проект.

Смежные вопросы