项目只有一个包含所有.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'
和
如您所见,我已经分配了“已安装的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文件。谢谢!
答案 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)
尝试删除Markers
中Problems
和eclipse
标签中的所有内容,然后尝试构建项目。