无法执行目标org.apache.maven.plugins:maven-compiler-plugin等等

时间:2015-11-29 09:13:28

标签: java eclipse maven

项目只有一个包含所有.java文件的包。

当我使用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文件”发生在随机引用/地方。

这是我的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/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获取jar文件。谢谢!

2 个答案:

答案 0 :(得分:0)

我认为问题出在阴影插件上所以请仔细阅读https://maven.apache.org/plugins/maven-shade-plugin/ 替代解决方案可能是http://www.mkyong.com/maven/how-to-create-a-jar-file-with-maven/

答案 1 :(得分:0)

尝试删除MarkersProblemseclipse标签中的所有内容,然后尝试构建项目。